Функция nextAfter

Функция nextAfter возвращает следующее представимое число с плавающей точкой после первого аргумента в направлении второго аргумента. Используется для точных математических вычислений и работы с граничными значениями чисел с плавающей точкой.

Импорт

kotlinimport kotlin.math.nextAfter

Синтаксис

kotlinfun nextAfter(start: Double, direction: Double): Double
kotlinfun nextAfter(start: Float, direction: Float): Float

Пример

Получим следующее число после 1.0 в направлении 2.0:

kotlinval start = 1.0
val direction = 2.0
val res = nextAfter(start, direction)
println(res)

Результат выполнения кода:

kotlinDouble 1.0000000000000002

Пример

Получим следующее число после 1.0F в направлении 0.0F:

kotlinval start = 1.0F
val direction = 0.0F
val res = nextAfter(start, direction)
println(res)

Результат выполнения кода:

kotlinFloat 0.99999994

Пример

Если направление совпадает со стартовым значением, функция возвращает само стартовое значение:

kotlinval start = 5.0
val direction = 5.0
val res = nextAfter(start, direction)
println(res)

Результат выполнения кода:

kotlinDouble 5.0

Пример

Работа с положительной бесконечностью:

kotlinval start = Double.POSITIVE_INFINITY
val direction = 0.0
val res = nextAfter(start, direction)
println(res)

Результат выполнения кода:

kotlinDouble 1.7976931348623157E308

Пример

Работа с NaN (Not a Number):

kotlinval start = Double.NaN
val direction = 1.0
val res = nextAfter(start, direction)
println(res)

Результат выполнения кода:

kotlinDouble NaN

Смотрите также

  • функцию ulp,
    которая возвращает размер единицы в последнем разряде для числа
  • функцию abs,
    которая возвращает абсолютное значение числа
  • функцию min,
    которая возвращает минимальное из двух чисел
  • функцию max,
    которая возвращает максимальное из двух чисел