У меня есть строка больше чем 2 147 483 647, и мне нужно ее проанализировать. Integer.parseInt не выполняет свою работу, он выдает исключение.
Integer.parseInt не может выполнить работу, если вы не были счастливы потерять данные. Подумайте о том, что вы просите здесь.
Integer.parseInt
Попробуйте Long.parseLong(String) или new BigInteger(String) для действительно больших целых чисел.
Long.parseLong(String)
new BigInteger(String)
Есть еще один тип, называемый Long , который может хранить числа до 2^63 - 1.Попробуйте разобрать строку, используя java.text.NumberFormat в long:
2^63 - 1
java.text.NumberFormat
NumberFormat format = NumberFormat.getInstance(java.util.Locale.US); Number number = format.parse("2,147,483,647"); Long value = number.longValue();
Я предполагаю, что вы выбрали String, потому что int не может содержать ваше значение. Это не нужно. Вы можете напрямую использовать BigInteger, который может обрабатывать значительно большие значения.