Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何解析字符串中的大整数?_Java - Fatal编程技术网

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);