这里发生了什么?
这是checkSum = "2367122119"
的值。我想将这个数字解析为这样的整数值:
int ipAddressAsInt = Integer.parseInt(checkSum.trim());
结果我得到以下例外:
java.lang.NumberFormatException: For input string: "2367122119"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:583)
at java.lang.Integer.parseInt(Integer.java:615)
at com.example.servlets.RDServlet.doPost(RDServlet.java:40)
...
此外,如果我尝试Long.parseLong(checkSum)
,也会发生同样的情况。
这怎么可能?
答案 0 :(得分:2)
with
的数字很大:
int
2147483647
-2147483648
答案 1 :(得分:1)
对于整数,该数字太大。使用Long它应该肯定有用。试试这样:
String checkSum = "2367122119";
long ipAddressAsInt = Long.parseLong(checkSum.trim());
System.out.println(ipAddressAsInt);
答案 2 :(得分:0)
该数字超过了int容器的大小。你可以使用long,但你必须将变量声明为long:
long ipAddressAsInt = Long.parseLong(checkSum.trim());
这应该在理论上起作用....