Как конвертировать Double (или Float) в Byte (или Short) в Kotlin 1.4? - PullRequest
0 голосов
/ 12 апреля 2020

В Kotlin версии 1.4 функции toByte() и toShort() отсутствуют для типов данных Float и Double. Как конвертировать их в Short или Byte?

1 Ответ

2 голосов
/ 12 апреля 2020

Как официальные документы заявляют:

Преобразование чисел с плавающей запятой в Short и Byte может привести к неожиданным результатам из-за узкого диапазона значений и меньшего размера переменной.

Поэтому, если вы хотите преобразовать в Byte или Short, вам нужно сделать два шага: сначала преобразовать в InttoInt()), а затем в целевой тип (например, toShort()).

Например: myVar.toInt().toByte()

...