Рассматривать:
val foo: Int = 1
foo.toDouble() // ok
val bar = 2.toUInt()
bar.toDouble() // error!
Это не имеет смысла для меня. Почему UInt бы не toDouble
? (он также не имеет .toFloat
).
Каждый тип номера поддерживает следующие преобразования:
- toByte(): байт
- toShort(): короткий
- toInt(): Int
- toLong(): Long
- toFloat(): Float
- toDouble(): Double
- toChar(): Char
Так что это должно быть возможно. Я получаю ошибку:
Error:(11, 4) Unresolved reference. None of the following candidates is applicable because of receiver type mismatch:
@InlineOnly public inline fun String.toDouble(): Double defined in kotlin.text
Разве UInt не считается типом числа? Или что-то еще?