АКЦИЯ: бесплатные месячные курсы по созданию сайтов
на выбор: верстка, JavaScript, PHP, Python или фреймворки. Сегодня последний день для записи! Жми!
221 of 1310 menu
Бесплатный тренинг по PHP: форматирование строк. Начало 25 сентября. Жми для записи!

Функция isNaN

Функция isNaN проверяет, является ли число с плавающей точкой специальным значением NaN (Not a Number). Это значение возвращается математическими операциями, которые не имеют определенного результата, например, деление нуля на ноль или извлечение квадратного корня из отрицательного числа. Функция применяется к числам типа Float или Double и возвращает Boolean значение.

Импорт

import kotlin.math.isNaN

Синтаксис

fun Double.isNaN(): Boolean
fun Float.isNaN(): Boolean

Пример

Проверим, является ли результат деления нуля на ноль нечисловым значением:

val num1: Double = 0.0 val num2: Double = 0.0 val result: Double = num1 / num2 val res: Boolean = result.isNaN() println("Result: $result") println("Is NaN: $res")

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

Result: NaN Is NaN: true

Пример

Проверим обычное число на значение NaN:

val num: Double = 15.7 val res: Boolean = num.isNaN() println("Is NaN: $res")

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

Is NaN: false

Пример

Проверим результат вычисления квадратного корня из отрицательного числа:

import kotlin.math.sqrt val num: Double = -4.0 val result: Double = sqrt(num) val res: Boolean = result.isNaN() println("Result: $result") println("Is NaN: $res")

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

Result: NaN Is NaN: true

Пример

Использование функции с типом Float:

val num: Float = 0.0F val result: Float = num / 0.0F val res: Boolean = result.isNaN() println("Is NaN: $res")

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

Is NaN: true

Пример

Проверка нескольких значений в условии:

val values = listOf(5.0, 0.0/0.0, 10.5, sqrt(-1.0)) for (value in values) { if (value.isNaN()) { println("$value is not a number") } else { println("$value is a valid number") } }

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

5.0 is a valid number NaN is not a number 10.5 is a valid number NaN is not a number

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

  • функцию parseDoubleOrNull,
    которая безопасно преобразует строку в число
  • функцию requireFinite,
    которая проверяет, что число конечно