获取数字格式异常

时间:2016-09-14 09:04:00

标签: java

我正在进行从字符串到int的简单转换,但获得数字格式异常:

我在java程序中使用:

String cId = "7000000141";
int iCid = Integer.parseInt(cId);
System.out.println(iCid);

获得以下异常:

Exception in thread "main" java.lang.NumberFormatException: For input string: "7000000141"
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
    at java.lang.Integer.parseInt(Integer.java:459)
    at java.lang.Integer.parseInt(Integer.java:497)

为什么我收到上述异常?

1 个答案:

答案 0 :(得分:1)

那是因为它超出了整数范围。 integer允许的最大值为2147483647

在Java 中,以下是最小值和最大值。

        width                     minimum                         maximum
int:   32 bit              -2 147 483 648                  +2 147 483 647
long:  64 bit  -9 223 372 036 854 775 808      +9 223 372 036 854 775 807

source

使用' long'而是数据类型

public class HelloWorld
{
  public static void main(String[] args)
  {
    String cId = "7000000141";
    long iCid = Long.parseLong(cId);
    System.out.println(iCid);
  }
}