round To Long
Требования к платформе и версии: Common (1.2), JVM (1.2), Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)
expect fun Double.roundToLong(): Long
Округляет это значение Double до ближайшего целого числа и преобразует результат в Long. В случае равного расстояния округление выполняется в сторону положительной бесконечности.
Особые случаи:
x.roundToLong() == Long.MAX_VALUE, когдаx > Long.MAX_VALUEx.roundToLong() == Long.MIN_VALUE, когдаx < Long.MIN_VALUE
Выбрасывает
если это значение NaN
Примеры
import kotlin.math.*
import kotlin.test.*
fun main() {
//sampleStart
println(3.14159.roundToLong()) // 3
println((-10.0).roundToLong()) // -10
// Values greater than Long.MAX_VALUE are rounded to Long.MAX_VALUE
println("(Long.MAX_VALUE.toDouble() * 2.0).roundToLong() == Long.MAX_VALUE is ${(Long.MAX_VALUE.toDouble() * 2.0).roundToLong() == Long.MAX_VALUE}") // true
println("Double.POSITIVE_INFINITY.roundToLong() == Long.MAX_VALUE is ${Double.POSITIVE_INFINITY.roundToLong() == Long.MAX_VALUE}") // true
// Values smaller than Long.MIN_VALUE are rounded to Long.MIN_VALUE
println("(Long.MIN_VALUE.toDouble() * 2.0).roundToLong() == Long.MIN_VALUE is ${(Long.MIN_VALUE.toDouble() * 2.0).roundToLong() == Long.MIN_VALUE}") // true
println("Double.NEGATIVE_INFINITY.roundToLong() == Long.MIN_VALUE is ${Double.NEGATIVE_INFINITY.roundToLong() == Long.MIN_VALUE}") // true
// NaN could not be rounded to Long
// Double.NaN.roundToLong() // will fail with IllegalArgumentException
//sampleEnd
}
expect fun Float.roundToLong(): Long
Округляет это значение Float до ближайшего целого числа и преобразует результат в Long. В случае равного расстояния округление выполняется в сторону положительной бесконечности.
Особые случаи:
x.roundToLong() == Long.MAX_VALUE, когдаx > Long.MAX_VALUEx.roundToLong() == Long.MIN_VALUE, когдаx < Long.MIN_VALUE
Выбрасывает
если это значение NaN
Примеры
import kotlin.math.*
import kotlin.test.*
fun main() {
//sampleStart
println(3.14159f.roundToLong()) // 3
println((-10.0f).roundToLong()) // -10
// Values greater than Long.MAX_VALUE are rounded to Long.MAX_VALUE
println("(Long.MAX_VALUE.toFloat() * 2.0f).roundToLong() == Long.MAX_VALUE is ${(Long.MAX_VALUE.toFloat() * 2.0f).roundToLong() == Long.MAX_VALUE}") // true
println("Float.POSITIVE_INFINITY.roundToLong() == Long.MAX_VALUE is ${Float.POSITIVE_INFINITY.roundToLong() == Long.MAX_VALUE}") // true
// Values smaller than Long.MIN_VALUE are rounded to Long.MIN_VALUE
println("(Long.MIN_VALUE.toFloat() * 2.0f).roundToLong() == Long.MIN_VALUE is ${(Long.MIN_VALUE.toFloat() * 2.0f).roundToLong() == Long.MIN_VALUE}") // true
println("Float.NEGATIVE_INFINITY.roundToLong() == Long.MIN_VALUE is ${Float.NEGATIVE_INFINITY.roundToLong() == Long.MIN_VALUE}") // true
// NaN could not be rounded to Long
// Float.NaN.roundToLong() // will fail with IllegalArgumentException
//sampleEnd
}
Требования к платформе и версии: JS (1.2)
actual fun Double.roundToLong(): Long
Округляет это значение Double до ближайшего целого числа и преобразует результат в Long. В случае равного расстояния округление выполняется в сторону положительной бесконечности.
Особые случаи:
x.roundToLong() == Long.MAX_VALUE, когдаx > Long.MAX_VALUEx.roundToLong() == Long.MIN_VALUE, когдаx < Long.MIN_VALUE
Выбрасывает
если это значение NaN
Примеры
import kotlin.math.*
import kotlin.test.*
fun main() {
//sampleStart
println(3.14159.roundToLong()) // 3
println((-10.0).roundToLong()) // -10
// Values greater than Long.MAX_VALUE are rounded to Long.MAX_VALUE
println("(Long.MAX_VALUE.toDouble() * 2.0).roundToLong() == Long.MAX_VALUE is ${(Long.MAX_VALUE.toDouble() * 2.0).roundToLong() == Long.MAX_VALUE}") // true
println("Double.POSITIVE_INFINITY.roundToLong() == Long.MAX_VALUE is ${Double.POSITIVE_INFINITY.roundToLong() == Long.MAX_VALUE}") // true
// Values smaller than Long.MIN_VALUE are rounded to Long.MIN_VALUE
println("(Long.MIN_VALUE.toDouble() * 2.0).roundToLong() == Long.MIN_VALUE is ${(Long.MIN_VALUE.toDouble() * 2.0).roundToLong() == Long.MIN_VALUE}") // true
println("Double.NEGATIVE_INFINITY.roundToLong() == Long.MIN_VALUE is ${Double.NEGATIVE_INFINITY.roundToLong() == Long.MIN_VALUE}") // true
// NaN could not be rounded to Long
// Double.NaN.roundToLong() // will fail with IllegalArgumentException
//sampleEnd
}
actual inline fun Float.roundToLong(): Long
Округляет это значение Float до ближайшего целого числа и преобразует результат в Long. В случае равного расстояния округление выполняется в сторону положительной бесконечности.
Особые случаи:
x.roundToLong() == Long.MAX_VALUE, когдаx > Long.MAX_VALUEx.roundToLong() == Long.MIN_VALUE, когдаx < Long.MIN_VALUE
Выбрасывает
если это значение NaN
Примеры
import kotlin.math.*
import kotlin.test.*
fun main() {
//sampleStart
println(3.14159f.roundToLong()) // 3
println((-10.0f).roundToLong()) // -10
// Values greater than Long.MAX_VALUE are rounded to Long.MAX_VALUE
println("(Long.MAX_VALUE.toFloat() * 2.0f).roundToLong() == Long.MAX_VALUE is ${(Long.MAX_VALUE.toFloat() * 2.0f).roundToLong() == Long.MAX_VALUE}") // true
println("Float.POSITIVE_INFINITY.roundToLong() == Long.MAX_VALUE is ${Float.POSITIVE_INFINITY.roundToLong() == Long.MAX_VALUE}") // true
// Values smaller than Long.MIN_VALUE are rounded to Long.MIN_VALUE
println("(Long.MIN_VALUE.toFloat() * 2.0f).roundToLong() == Long.MIN_VALUE is ${(Long.MIN_VALUE.toFloat() * 2.0f).roundToLong() == Long.MIN_VALUE}") // true
println("Float.NEGATIVE_INFINITY.roundToLong() == Long.MIN_VALUE is ${Float.NEGATIVE_INFINITY.roundToLong() == Long.MIN_VALUE}") // true
// NaN could not be rounded to Long
// Float.NaN.roundToLong() // 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-long.html