在Java中将数字的大字符串转换为整数

时间:2019-03-09 12:51:10

标签: java javafx

我想将大String转换为Integer,但将NumberForamtExceptin发生为:

Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
Caused by: java.lang.NumberFormatException: For input string: "56465478484"

我尝试所有将String转换为数字的方法,例如

Integer.parseInt().
Integer.valueOf().
and others 

当我输入的数字大于9时,就会发生异常。 任何帮助表示赞赏

1 个答案:

答案 0 :(得分:1)

您需要使用BigInteger而不是int作为变量。

Integerint)变量范围是-2,147,483,648 .. 2,147,483,647。因此,任何数字上大于数字的地方,都会导致Java错误。

String s0 = "23983838282828388382";
String s1 = "11929291882383717771";
BigInteger bi0 = new BigInteger(s0);
BigInteger bi1 = new BigInteger(s1);
// you can do math operations on BigIntegers
BigInteger biSum = bi0.sum(bi1); // it's not pretty, but it works