Функция nextDown
Функция nextDown возвращает ближайшее меньшее соседнее число с плавающей точкой для заданного значения.
Для положительных чисел результат будет чуть меньше исходного, для отрицательных - чуть больше (так как движемся к -∞).
Особенно полезна при работе с граничными значениями чисел с плавающей точкой.
Импорт
import kotlin.math.nextDown
Синтаксис
fun Double.nextDown(): Double
fun Float.nextDown(): Float
Пример
Получим предыдущее число для 1.5 типа Double:
val num = 1.5
val res = num.nextDown()
println(res)
Результат выполнения кода:
Double 1.4999999999999998
Пример
Получим предыдущее число для 0.0 типа Double:
val num = 0.0
val res = num.nextDown()
println(res)
Результат выполнения кода:
Double -4.9E-324
Пример
Получим предыдущее число для -2.5F типа Float:
val num = -2.5F
val res = num.nextDown()
println(res)
Результат выполнения кода:
Float -2.5000003
Пример
Демонстрация работы с минимальным положительным числом типа Double:
val num = Double.MIN_VALUE
val res = num.nextDown()
println(res == 0.0)
Результат выполнения кода:
true