Groovy: преобразование строки в целое число дает NumberFormatException - PullRequest
1 голос
/ 12 февраля 2020

Я пытаюсь получить дату из этого текста:

{InstantSeconds = 1581504140}, ISO, Европа / Париж, разрешено до 2020-02-12T11: 42: 20

Я пытался сделать

def text = "{InstantSeconds=1581504140},ISO,Europe/Paris resolved to 2020-02-12T11:42:20"
text = text.replaceAll("[^\\d.]", "")
text = text.substring(10)
println "${text}"

int result= Integer.parseInt("${text}");
println result

Но я получаю

java .lang.NumberFormatException: Для входной строки: "20200212114220"

Я использую это (для практики) https://groovyconsole.appspot.com/

Кто-нибудь знает, почему это происходит?

1 Ответ

0 голосов
/ 12 февраля 2020

Значение слишком длинное для целого числа. Используйте тип данных Long:

Long result = text.toLong()
assert result.class.name == 'java.lang.Long'
assert result == 20200212114220
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...