将字符串解析为 int 时出错 -java.lang.NumberFormatExceptiont
error parsing string to int -java.lang.NumberFormatExceptiont
我正在将字符串解析为整数,但出现以下错误:
Exception in thread "main" java.lang.NumberFormatException: For input
string: "9887666881"
代码
long accountNo=0;
if(accountNo_p!=null)
accountNo=Integer.parseInt(accountNo_p);
能请教一下吗?
Java 的 int
大小为 32 位宽。 Java 格式的(有符号)32 位整数的最大值为 2,147,483,647。输入字符串是 9,887,666,881。输入大于 Java int
的最大值,因此它会抛出 NumberFormatException
(因为您对 parseInt
使用 Integer
方法,不是解析 long
).
的方法
解决方案包括使用较小的数字(如果这是一个随机测试用例,而不是真实数据),或使用 Java long
(通过 Long.parseLong(accountNo_p)
)。
我正在将字符串解析为整数,但出现以下错误:
Exception in thread "main" java.lang.NumberFormatException: For input string: "9887666881"
代码
long accountNo=0;
if(accountNo_p!=null)
accountNo=Integer.parseInt(accountNo_p);
能请教一下吗?
Java 的 int
大小为 32 位宽。 Java 格式的(有符号)32 位整数的最大值为 2,147,483,647。输入字符串是 9,887,666,881。输入大于 Java int
的最大值,因此它会抛出 NumberFormatException
(因为您对 parseInt
使用 Integer
方法,不是解析 long
).
解决方案包括使用较小的数字(如果这是一个随机测试用例,而不是真实数据),或使用 Java long
(通过 Long.parseLong(accountNo_p)
)。