Integer.parse(String str)java.lang.NumberFormatException:错误 [英] Integer.parse(String str) java.lang.NumberFormatException: Errors
问题描述
尽管我修剪了字符串,我不断获得数字格式的期望,但是它们并不包含非数字字符,而且它对某些数字而言并不适用。下面是一个字符串的示例,我得到数字格式异常。另外,任何从0开始的字符串,例如0208405223,都返回208405223,那么这个应该是不会有零的?
I keep getting number format expectations, even though I'm trimming the strings and they don't contain non numerical characters bizarrely it works for some numbers and not others. Below is an example of a string I get number format exception for. Also, any string starting with 0 e.g "0208405223", is returned 208405223, there's no zero anymore is that supposed to happen?
String n="3020857508";
Integer a = Integer.parseInt(n.trim());
System.out.println(a);
这是例外:
Exception in thread "main" java.lang.NumberFormatException: For input string: "3020857508"
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 JavaBeans.Main.main(Main.java:15)
推荐答案
最大的解析方式为 int
是 2147483647
(2 31 -1),最大的 long
是 9223372036854775807
(2 63 -1),只有两倍长。
The largest number parseable as an int
is 2147483647
(231-1), and the largest long
is 9223372036854775807
(263-1), only about twice as long.
要解析任意长的数字,请使用:
To parse arbitrarily long numbers, use:
import java.math.BigInteger;
BigInteger number = new BigInteger(str);
这篇关于Integer.parse(String str)java.lang.NumberFormatException:错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!