尝试解析常规有效整数时java.lang.NumberFormatException

时间:2015-12-10 13:58:39

标签: java numberformatexception

这里发生了什么?

这是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),也会发生同样的情况。

这怎么可能?

3 个答案:

答案 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());

这应该在理论上起作用....