-2

这是我在 main 方法中使用的代码:

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...

我不能使用双精度,它们需要存储为没有小数的值。我正在尝试将字符串中的数字字符串转换为包含数字的变量(无小数)

4

6 回答 6

7

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

于 2013-01-28T06:27:29.603 回答
1

采用Long.parseLong()

String numbers = "12345678900";
long upc = Long.parseLong(numbers);
System.out.println(upc);
于 2013-01-28T06:28:27.060 回答
1

采用

String numbers = "12345678900";
long upc = Long.parseLong(numbers);
System.out.println(upc);
于 2013-01-28T07:02:43.903 回答
0

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

于 2013-01-28T06:26:42.797 回答
0

采用

long upc = Long.parseLong(numbers);
于 2013-01-28T06:28:58.120 回答
0

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

于 2013-01-28T06:29:55.627 回答