对于长整数,Java异常无效int

时间:2012-08-30 15:56:00

标签: android math computation

我目前正在开发一个进行长计算的数学应用程序。我收到java.lang.NumberFormatException:无效的int:“...”错误(其中...被一个很长的数字替换)每当我输入一个包含9位以上的整数时。当我输入一个小于或等于9位的整数时,应用程序运行正常。我需要输出为int(即没有小数位)。不太确定错误发生的原因。

造成问题的代码是:

Intent intent = getIntent();
String message = intent.getStringExtra(MainActivity.NUMBER);
int inp = Integer.parseInt(message);

2 个答案:

答案 0 :(得分:2)

int的最大值是2 31 -1,即2,147,483,647。如果您尝试解析大于该数字的数字,则会抛出异常。

如果您需要处理更大的数字,请使用long通常更大的范围(最多2 63 -1)或BigInteger任意大小。< / p>

答案 1 :(得分:0)

Java的 int 数据类型限制为-2,147,483,648到2,147,483,647(含)的值。如果你想要更大的“整数”值,我建议使用 long 数据类型。