[英]number format exception when trying to parse a string
我想將Integer.MAX_VALUE
轉換為二進制,並希望表示形式為int
類型。 我將其傳遞給Integer.tobinarystring()
並用Integer.parseint
包裝,但是我得到了numberformatexception。
這是代碼
System.out.println(
Integer.parseInt(
Integer.toBinaryString(Integer.MAX_VALUE)
)
);
這是例外
Exception in thread "main" java.lang.NumberFormatException: For input string: "1111111111111111111111111111111"
Integer.MAX_VALUE
為2,147,483,647
二進制形式是: 1111111111111111111111111111111
如果我們再次將其視為整數,即1,111,111,111,111,111,111,111,111,111,111
您可能會發現它比最大值大得多。
如果您確實需要將int作為整數處理,則可能要研究BigInteger
。
如果要獲取二進制字符串的整數值
1111111111111111111111111111111
您必須使用parseInt()
另一個簽名,該簽名將radix
作為第二個參數,
在二進制字符串的情況下,基數為2
String str = Integer.toBinaryString(Integer.MAX_VALUE);
int number = Integer.parseInt(str, 2);
System.out.println(number);
它會打印:
2147483647
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.