НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
218 of 1310 menu

Функция requireFinite

Функция requireFinite проверяет, является ли число конечным (не бесконечным и не NaN). Если число не является конечным, функция выбрасывает исключение IllegalArgumentException. Применяется к числам с плавающей точкой типа Float или Double.

Импорт

import kotlin.math.requireFinite

Синтаксис

inline fun requireFinite(value: Double, name: String? = null): Double
inline fun requireFinite(value: Float, name: String? = null): Float

Параметры

value - число типа Double или Float для проверки на конечность.

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

Пример

Проверим конечность обычного числа:

val num: Double = 15.7 val res: Double = requireFinite(num) println("Number is finite: $res")

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

Number is finite: 15.7

Пример

Проверим число NaN:

try { val num: Double = Double.NaN val res: Double = requireFinite(num, "testValue") println("Number is finite: $res") } catch (e: IllegalArgumentException) { println("Error: ${e.message}") }

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

Error: testValue must be finite.

Пример

Проверим положительную бесконечность:

try { val num: Double = Double.POSITIVE_INFINITY val res: Double = requireFinite(num) println("Number is finite: $res") } catch (e: IllegalArgumentException) { println("Error: ${e.message}") }

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

Error: must be finite.

Пример

Проверим отрицательную бесконечность с указанием имени переменной:

try { val num: Float = Float.NEGATIVE_INFINITY val res: Float = requireFinite(num, "temperature") println("Temperature is finite: $res") } catch (e: IllegalArgumentException) { println("Validation error: ${e.message}") }

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

Validation error: temperature must be finite.

Пример

Использование функции для валидации входных данных:

fun calculateSquareRoot(x: Double): Double { val validX = requireFinite(x, "input value") return kotlin.math.sqrt(validX) } try { val result = calculateSquareRoot(Double.NaN) println("Result: $result") } catch (e: IllegalArgumentException) { println("Calculation error: ${e.message}") }

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

Calculation error: input value must be finite.

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

Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить