解析String的问题很长 - 我做错了什么?

时间:2013-01-28 06:25:25

标签: java parsing long-integer

以下是我在主方法中使用的代码:

String numbers = "12345678900";
long upc = Integer.parseInt(numbers);
System.out.println(upc);

给了我:

Exception in thread "main" java.lang.NumberFormatException: For input string: "12345678900"
at java.lang.NumberFormatException.forInputString...
at java.lang.Integer.parseInt....
at java.lang.Integer.parseInt...
at testRun.main...

我不能使用double,它们需要存储为没有小数的值。我试图从字符串中获取数字串到一个包含数字(无小数)的变量

6 个答案:

答案 0 :(得分:7)

要解析long,请使用Long.parseLong,而不是Integer.parseInt。这样,您就可以访问全部long值(而使用parseInt时,您只能获得更严格的 int 值范围。

答案 1 :(得分:1)

使用Long.parseLong()

String numbers = "12345678900";
long upc = Long.parseLong(numbers);
System.out.println(upc);

答案 2 :(得分:1)

使用

String numbers = "12345678900";
long upc = Long.parseLong(numbers);
System.out.println(upc);

答案 3 :(得分:0)

您传递的数字超出整数范围,从-2,147,483,648到2,147,483,647。 尝试使用静态函数parseLong

答案 4 :(得分:0)

使用

long upc = Long.parseLong(numbers);

答案 5 :(得分:0)

您的号码足够长,不适合整数。所以,你不能转换为整数。你可以通过调用Long.parseLong(number)来强制转换它。