Java 如何解析字符串中的大整数?
我有这样一种方法:Java 如何解析字符串中的大整数?,java,Java,我有这样一种方法: Integer.parseInt(myInt) 不是这个整数变长,我得到以下异常: java.lang.NumberFormatException: For input string: "4000123012" 如何避免此错误并保持所有函数运行 我试图使用biginger,但是没有parse方法,或者我没有找到它。像这样使用它 BigInteger number = new BigInteger(myInt); 我的解决方案: String sLong = "4000
Integer.parseInt(myInt)
不是这个整数变长,我得到以下异常:
java.lang.NumberFormatException: For input string: "4000123012"
如何避免此错误并保持所有函数运行
我试图使用biginger
,但是没有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 via,并通过将Long传递给
编辑:
在将一种类型解析为另一种类型时,您必须始终尝试捕获异常,并在这种情况下执行操作,例如设置一些默认值
更好的方法是,将字符串传递给构造函数:
BigInteger number = new BigInteger(myInt);
下面是完整的答案:@MarounMaroun但是biginger类有
biginger(stringval)
constructor。我认为你的决定太过分了complex@AlekseiBulgak你说得对。我删除了我的复杂评论:Dit写这篇文章比查找javadoc要花更多的时间。谢谢@Alpesh,我也有同样的疑问…如何将“字母数字”字符串转换为BigInteger?例如:“123check”
BigInteger number = new BigInteger(myInt);