toIntOrNull() != null
А без каста в int можно как-то сделать?
regexpom, по диапазону
А как вы хотите это проверить без парсинга?
.all { it.isDigit() }
Флоаты отвалились, отрицательные числа отвалились
Какое ТЗ, такое и решение
Вообще сделать хороший быстрый парсер числа - это не тривиальная задача.
согласен, как-то писал подобный парсер и ни 1 раза, ни с 5 удачно не получалось решить эту проблему, особенно учитывая, что в моём случае могли быть запятые вместо точек и тому подобное. Всё свелось к итеративной разработке, когда по ходу дела приходилось дорабатывать парсер.
Именно. А если задача сделать его еще и быстрым - вообще сложно. Парсинг чисел в JSON по-моему до сих пор самая дорогая часть.
ну так в json числа имеют самую разветвленную грамматику. понятно что оно долго будет работать.
Угу. Это просто есть такой спор вечный, надо ли делать бинарные форматы для передачи больших объемов данных. Сейчас Json проигрывает бинарным форматам по сути только из-за парсинга чисел.
Обсуждают сегодня