Функция coerceIn
Функция coerceIn ограничивает значение указанным диапазоном.
Если значение находится в пределах диапазона, возвращается само значение.
Если значение меньше минимальной границы диапазона, возвращается минимальная граница.
Если значение больше максимальной границы диапазона, возвращается максимальная граница.
Применяется к числам и другим сравниваемым типам.
Синтаксис
kotlinfun Int.coerceIn(minimumValue: Int, maximumValue: Int): Int
kotlinfun Long.coerceIn(minimumValue: Long, maximumValue: Long): Long
kotlinfun Double.coerceIn(minimumValue: Double, maximumValue: Double): Double
kotlinfun Float.coerceIn(minimumValue: Float, maximumValue: Float): Float
kotlinfun <T : Comparable<T>> T.coerceIn(minimumValue: T?, maximumValue: T?): T
Пример
Ограничим число 15 диапазоном от 10 до 20:
kotlinval num = 15
val res = num.coerceIn(10, 20)
println(res)
Результат выполнения кода:
kotlinInt 15
Пример
Ограничим число 5 диапазоном от 10 до 20:
kotlinval num = 5
val res = num.coerceIn(10, 20)
println(res)
Результат выполнения кода:
kotlinInt 10
Пример
Ограничим число 25 диапазоном от 10 до 20:
kotlinval num = 25
val res = num.coerceIn(10, 20)
println(res)
Результат выполнения кода:
kotlinInt 20
Пример
Ограничим число с плавающей точкой 3.14 диапазоном от 1.0 до 5.0:
kotlinval num = 3.14
val res = num.coerceIn(1.0, 5.0)
println(res)
Результат выполнения кода:
kotlinDouble 3.14
Пример
Функция coerceIn также работает с символами:
kotlinval char = 'x'
val res = char.coerceIn('a', 'm')
println(res)
Результат выполнения кода:
kotlinChar m
Пример
Функция coerceIn также работает со строками:
kotlinval str = "zebra"
val res = str.coerceIn("apple", "orange")
println(res)
Результат выполнения кода:
kotlinString "orange"
Смотрите также
-
функцию
coerceAtLeast,
которая ограничивает значение снизу -
функцию
coerceAtMost,
которая ограничивает значение сверху -
функцию
rangeTo,
которая создает диапазон значений -
функцию
rangeUntil,
которая создает диапазон, не включая конечное значение