ВНИМАНИЕ: Запись на курсы по HTML, CSS, JavaScript, PHP, Python, React, Vue, Laravel и другим фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
218 of 1310 menu
Бесплатный курс по выкладке сайтов на хостинг. Разбираем все нюансы! Начало 14 октября. Жми для записи!

Функция 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.

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