以下是我在主方法中使用的代码:
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,它们需要存储为没有小数的值。我试图从字符串中获取数字串到一个包含数字(无小数)的变量
答案 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)
来强制转换它。