2014-10-27 40 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()

相关问题