round To Int
Требования к платформе и версии: Common (1.2), JVM (1.2), Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)
expect fun Double.roundToInt(): Int
Округляет это значение Double до ближайшего целого числа и преобразует результат в Int. При равном удалении от двух целых чисел округление выполняется в сторону положительной бесконечности.
Особые случаи:
x.roundToInt() == Int.MAX_VALUE, когдаx > Int.MAX_VALUEx.roundToInt() == Int.MIN_VALUE, когдаx < Int.MIN_VALUE
Выбрасывает
если это значение NaN
Примеры
import kotlin.math.*
import kotlin.test.*
fun main() {
//sampleStart
println(3.14159.roundToInt()) // 3
println((-10.0).roundToInt()) // -10
// Values greater than Int.MAX_VALUE are rounded to Int.MAX_VALUE
println("(Int.MAX_VALUE.toDouble() + 1.0).roundToInt() == Int.MAX_VALUE is ${(Int.MAX_VALUE.toDouble() + 1.0).roundToInt() == Int.MAX_VALUE}") // true
println("Double.POSITIVE_INFINITY.roundToInt() == Int.MAX_VALUE is ${Double.POSITIVE_INFINITY.roundToInt() == Int.MAX_VALUE}") // true
// Values smaller than Int.MIN_VALUE are rounded to Int.MIN_VALUE
println("(Int.MIN_VALUE.toDouble() - 1.0).roundToInt() == Int.MIN_VALUE is ${(Int.MIN_VALUE.toDouble() - 1.0).roundToInt() == Int.MIN_VALUE}") // true
println("Double.NEGATIVE_INFINITY.roundToInt() == Int.MIN_VALUE is ${Double.NEGATIVE_INFINITY.roundToInt() == Int.MIN_VALUE}") // true
// NaN could not be rounded to Int
// Double.NaN.roundToInt() // will fail with IllegalArgumentException
//sampleEnd
}
expect fun Float.roundToInt(): Int
Округляет это значение Float до ближайшего целого числа и преобразует результат в Int. При равном удалении от двух целых чисел округление выполняется в сторону положительной бесконечности.
Особые случаи:
x.roundToInt() == Int.MAX_VALUE, когдаx > Int.MAX_VALUEx.roundToInt() == Int.MIN_VALUE, когдаx < Int.MIN_VALUE
Выбрасывает
если это значение NaN
Примеры
import kotlin.math.*
import kotlin.test.*
fun main() {
//sampleStart
println(3.14159f.roundToInt()) // 3
println((-10.0f).roundToInt()) // -10
// Values greater than Int.MAX_VALUE are rounded to Int.MAX_VALUE
println("(Int.MAX_VALUE.toFloat() * 2.0f).roundToInt() == Int.MAX_VALUE is ${(Int.MAX_VALUE.toFloat() * 2.0f).roundToInt() == Int.MAX_VALUE}") // true
println("Float.POSITIVE_INFINITY.roundToInt() == Int.MAX_VALUE is ${Float.POSITIVE_INFINITY.roundToInt() == Int.MAX_VALUE}") // true
// Values smaller than Int.MIN_VALUE are rounded to Int.MIN_VALUE
println("(Int.MIN_VALUE.toFloat() * 2.0f).roundToInt() == Int.MIN_VALUE is ${(Int.MIN_VALUE.toFloat() * 2.0f).roundToInt() == Int.MIN_VALUE}") // true
println("Float.NEGATIVE_INFINITY.roundToInt() == Int.MIN_VALUE is ${Float.NEGATIVE_INFINITY.roundToInt() == Int.MIN_VALUE}") // true
// NaN could not be rounded to Int
// Float.NaN.roundToInt() // will fail with IllegalArgumentException
//sampleEnd
}
Требования к платформе и версии: JS (1.2)
actual fun Double.roundToInt(): Int
Округляет это значение Double до ближайшего целого числа и преобразует результат в Int. При равном удалении от двух целых чисел округление выполняется в сторону положительной бесконечности.
Особые случаи:
x.roundToInt() == Int.MAX_VALUE, когдаx > Int.MAX_VALUEx.roundToInt() == Int.MIN_VALUE, когдаx < Int.MIN_VALUE
Выбрасывает
если это значение NaN
Примеры
import kotlin.math.*
import kotlin.test.*
fun main() {
//sampleStart
println(3.14159.roundToInt()) // 3
println((-10.0).roundToInt()) // -10
// Values greater than Int.MAX_VALUE are rounded to Int.MAX_VALUE
println("(Int.MAX_VALUE.toDouble() + 1.0).roundToInt() == Int.MAX_VALUE is ${(Int.MAX_VALUE.toDouble() + 1.0).roundToInt() == Int.MAX_VALUE}") // true
println("Double.POSITIVE_INFINITY.roundToInt() == Int.MAX_VALUE is ${Double.POSITIVE_INFINITY.roundToInt() == Int.MAX_VALUE}") // true
// Values smaller than Int.MIN_VALUE are rounded to Int.MIN_VALUE
println("(Int.MIN_VALUE.toDouble() - 1.0).roundToInt() == Int.MIN_VALUE is ${(Int.MIN_VALUE.toDouble() - 1.0).roundToInt() == Int.MIN_VALUE}") // true
println("Double.NEGATIVE_INFINITY.roundToInt() == Int.MIN_VALUE is ${Double.NEGATIVE_INFINITY.roundToInt() == Int.MIN_VALUE}") // true
// NaN could not be rounded to Int
// Double.NaN.roundToInt() // will fail with IllegalArgumentException
//sampleEnd
}
actual inline fun Float.roundToInt(): Int
Округляет это значение Float до ближайшего целого числа и преобразует результат в Int. При равном удалении от двух целых чисел округление выполняется в сторону положительной бесконечности.
Особые случаи:
x.roundToInt() == Int.MAX_VALUE, когдаx > Int.MAX_VALUEx.roundToInt() == Int.MIN_VALUE, когдаx < Int.MIN_VALUE
Выбрасывает
если это значение NaN
Примеры
import kotlin.math.*
import kotlin.test.*
fun main() {
//sampleStart
println(3.14159f.roundToInt()) // 3
println((-10.0f).roundToInt()) // -10
// Values greater than Int.MAX_VALUE are rounded to Int.MAX_VALUE
println("(Int.MAX_VALUE.toFloat() * 2.0f).roundToInt() == Int.MAX_VALUE is ${(Int.MAX_VALUE.toFloat() * 2.0f).roundToInt() == Int.MAX_VALUE}") // true
println("Float.POSITIVE_INFINITY.roundToInt() == Int.MAX_VALUE is ${Float.POSITIVE_INFINITY.roundToInt() == Int.MAX_VALUE}") // true
// Values smaller than Int.MIN_VALUE are rounded to Int.MIN_VALUE
println("(Int.MIN_VALUE.toFloat() * 2.0f).roundToInt() == Int.MIN_VALUE is ${(Int.MIN_VALUE.toFloat() * 2.0f).roundToInt() == Int.MIN_VALUE}") // true
println("Float.NEGATIVE_INFINITY.roundToInt() == Int.MIN_VALUE is ${Float.NEGATIVE_INFINITY.roundToInt() == Int.MIN_VALUE}") // true
// NaN could not be rounded to Int
// Float.NaN.roundToInt() // will fail with IllegalArgumentException
//sampleEnd
}
© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.math/round-to-int.html