在将字符串值解析为整数时,我发现NumberFormatException
。鉴于什么是最大值可以作为字符串输入Integer.parseInt(字符串)
值:1000000000000
任何一个可以告诉我什么是最大值并解析可能发生。
谢谢。
在将字符串值解析为整数时,我发现NumberFormatException
。鉴于什么是最大值可以作为字符串输入Integer.parseInt(字符串)
值:1000000000000
任何一个可以告诉我什么是最大值并解析可能发生。
谢谢。
2147483647
是最大值parseInt()
可以解析没有给出例外。 1000000000000
>2147483647
(= Integer.MAX_VALUE
,最大值为int
)。 1000000000000
不再是int
的值(不能代表int
而没有integer overflow)。所以partInt()
会给你NumberFormatException
你可以使用Long.parseLong()
像这里更大的值。
如:
Long.parseLong("1000000000000")
@downvoters,您应该**至少**有勇气发表评论。 – 2014-10-27 08:01:41
他询问可以通过的最大值作为解析方法的参数值。您正在给出另一种方法来防止NumberFormatException。 – 2014-10-27 08:06:25
这将是伟大的,你解析什么价值。达到您的实际价值,您可以解析Integer.MAX_VALUE
的最大值。小于这个值,哪个格式适当,将很好地解析。
如果你要处理大于值看看Long
或BigInteger
最大值是2^31 - 1
,你可以得到它也Integer.MAX_VALUE
Integer是一个32位的数字,1位为符号bit±,所以2^31 - 1
整数的最大值是2,147,483,647
。这也是您可以解析的最大值。
如果您需要更高的值,请考虑使用long
和Long.parseLong()
。
向我们展示你解析什么。 – 2014-10-27 07:49:08
@Suresh,使用的值是:1000000000000 – 2014-10-27 07:50:04
尝试像这样:System.out.println(Integer.parseInt(“”+ Integer.MAX_VALUE)); – 2014-10-27 07:51:08