2014-10-27 42 views
-2

在將字符串值解析爲整數時,我發現NumberFormatException。鑑於什麼是最大值可以作爲字符串輸入Integer.parseInt(字符串)

值:1000000000000

任何一個可以告訴我什麼是最大值並解析可能發生。

謝謝。

+0

向我們展示你解析什麼。 – 2014-10-27 07:49:08

+0

@Suresh,使用的值是:1000000000000 – 2014-10-27 07:50:04

+0

嘗試像這樣:System.out.println(Integer.parseInt(「」+ Integer.MAX_VALUE)); – 2014-10-27 07:51:08

回答

-2

2147483647是最大值parseInt()可以解析沒有給出例外。 1000000000000>2147483647(= Integer.MAX_VALUE,最大值爲int)。 1000000000000不再是int的值(不能代表int而沒有integer overflow)。所以partInt()會給你NumberFormatException

你可以使用Long.parseLong()像這裏更大的值。

如:

Long.parseLong("1000000000000") 
+0

@downvoters,您應該**至少**有勇氣發表評論。 – 2014-10-27 08:01:41

+0

他詢問可以通過的最大值作爲解析方法的參數值。您正在給出另一種方法來防止NumberFormatException。 – 2014-10-27 08:06:25

4

這將是偉大的,你解析什麼價值。達到您的實際價值,您可以解析Integer.MAX_VALUE的最大值。小於這個值,哪個格式適當,將很好地解析。

如果你要處理大於值看看LongBigInteger

2

最大值是2^31 - 1,你可以得到它也Integer.MAX_VALUE Integer是一個32位的數字,1位爲符號bit±,所以2^31 - 1

2

整數的最大值是2,147,483,647。這也是您可以解析的最大值。

如果您需要更高的值,請考慮使用longLong.parseLong()

相關問題