0

我目前正在开发一个进行长时间计算的数学应用程序。每当我输入一个包含超过 9 位数字的整数时,我都会收到 java.lang.NumberFormatException: Invalid int: "..." 错误(其中 ... 被一个非常长的数字替换)。当我输入小于或等于 9 位的整数时,应用程序运行良好。我需要输出是一个整数(即没有小数位)。不太清楚为什么会发生错误。

导致问题的代码位是:

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

2 回答 2

2

an 的最大值为int2 31 -1,即 2,147,483,647。如果您尝试解析比此更大的数字,则会引发异常。

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

于 2012-08-30T15:57:57.320 回答
0

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

于 2012-08-30T15:58:56.207 回答