Подтвердить что ты не робот

Как разбирать большое целое из строки?

У меня есть такой способ:

Integer.parseInt(myInt)

не это целое число становится длинным, и я получаю следующее исключение:

java.lang.NumberFormatException: For input string: "4000123012"

что я могу сделать, чтобы избежать этой ошибки и все еще держать функции runnning?

Я попытался использовать BigInteger, но не существует метода parse, или я его не нашел.

4b9b3361

Ответ 1

Используйте его так.

 BigInteger number = new BigInteger(myInt);

Ответ 2

Мое решение:

String sLong = "4000123012";
long yourLong = Long.parseLong(sLong);
System.out.println("Long : "+yourLong);

OutPut:

Long : 4000123012

Ответ 3

Вы также можете использовать Long.parse для целых чисел:

Long.parseLong(myInt)

который, конечно, возвращает a long.

Ответ 4

Максимальное значение Java Integer - 2147483647 (таблица ограничений).

Вы можете вывести String в Long через Long.parseLong(String s) и получить BigInteger, пройдя долго до BigInteger.valueOf(long l)

String s = "4000123012";
long l = Long.parseLong(s);
BigInteger bi = BigInteger(l);

EDIT: Вам всегда нужно попробовать исключить исключение в случае разбора одного типа другому и действовать в этом случае, например, установить определенное значение по умолчанию.

еще лучше, поскольку Alpesh Prajapati предлагает передать String конструктору:

BigInteger number = new BigInteger(myInt);