我目前正在开发一个进行长计算的数学应用程序。我收到java.lang.NumberFormatException:无效的int:“...”错误(其中...被一个很长的数字替换)每当我输入一个包含9位以上的整数时。当我输入一个小于或等于9位的整数时,应用程序运行正常。我需要输出为int(即没有小数位)。不太确定错误发生的原因。
造成问题的代码是:
Intent intent = getIntent();
String message = intent.getStringExtra(MainActivity.NUMBER);
int inp = Integer.parseInt(message);
答案 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 数据类型。