Строка в Int, генерирующая исключение NumberFormatException - PullRequest
0 голосов
/ 29 марта 2020

Я хочу преобразовать строку в Int.

Строка, о которой идет речь, равна 1585489022235.

Сначала нужно преобразовать в строку, которая выглядит как быть успешным (я распечатываю вышеупомянутое).

val id = data.get("id").toString()

println(id)

val toInt = id.toInt()

Когда я пытаюсь преобразовать строку в Int, возникает исключение:

 Error Message: java.lang.NumberFormatException: For input string: "1585489022235"
        Stacktrace: 
        java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:68)
        java.base/java.lang.Integer.parseInt(Integer.java:658)
        java.base/java.lang.Integer.parseInt(Integer.java:776)

Большое спасибо заранее

1 Ответ

3 голосов
/ 29 марта 2020

Значение "1585489022235" не может быть преобразовано в Int, поскольку оно больше максимального значения типа данных Int, которое вы можете получить с помощью Int.MAX_VALUE, и оно равно 2147483647. Что вы можете сделать, это преобразовать строку в Long:

val x = id.toLong()

Максимальное значение типа данных long равно 9223372036854775807, которое вы можете получить с помощью Long.MAX_VALUE. Вы можете найти больше здесь: Basi c Типы - Номера

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...