За исключением предложенного, я бы не конвертировал в Float . Это подвержено ошибкам округления и может не возвращать значение до десятичной точки.
Пример:
val num = "0.99999999"
println(num.toFloat().toInt()) // gives 1
Вместо этого разбейте строку в десятичной точке:
val num = "0.99999999"
val split = num.split('.')
println(split[0]) // gives 0
Приятным побочным эффектом этой реализации является то, что она работает даже для целых чисел без десятичной точки. Если вам нужен результат как Int
, просто позвоните split[0].toInt()
.