我有这样的方法:
Integer.parseInt(myInt)
不是这个整数变长,我得到以下异常:
java.lang.NumberFormatException: For input string: "4000123012"
我能做些什么来避免这个错误并且仍然保持所有功能运行?
我试过用BigInteger
但是没有parse
方法,或者没找到。
我有这样的方法:
Integer.parseInt(myInt)
不是这个整数变长,我得到以下异常:
java.lang.NumberFormatException: For input string: "4000123012"
我能做些什么来避免这个错误并且仍然保持所有功能运行?
我试过用BigInteger
但是没有parse
方法,或者没找到。
像这样使用它。
BigInteger number = new BigInteger(myInt);
我的解决方案:
String sLong = "4000123012";
long yourLong = Long.parseLong(sLong);
System.out.println("Long : "+yourLong);
输出 :
Long : 4000123012
您也可以将 Long.parse 用于整数:
Long.parseLong(myInt)
这当然会返回一个long
.
Java 整数最大值为 2147483647(限制表)。
您可以通过Long.parseLong(String s)将 String 转换为 Long并通过将 long 传递给BigInteger.valueOf(long l)来获取 BigInteger
String s = "4000123012";
long l = Long.parseLong(s);
BigInteger bi = BigInteger(l);
编辑:在将一种类型解析为另一种类型的情况下,您总是必须尝试捕获异常,并在这种情况下采取行动,例如设置一些默认值。
正如Alpesh Prajapati建议的那样,将 String 传递给构造函数会更好:
BigInteger number = new BigInteger(myInt);