Spec-Zone.ru › Kotlin 2

roundToLong

kotlin-stdlib/kotlin.math/roundToLong

Требования к платформе и версии: 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_VALUE

  • x.roundToLong() == Long.MIN_VALUE, когда x < Long.MIN_VALUE

Выбрасывает

IllegalArgumentException

если это значение 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_VALUE

  • x.roundToLong() == Long.MIN_VALUE, когда x < Long.MIN_VALUE

Выбрасывает

IllegalArgumentException

если это значение 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_VALUE

  • x.roundToLong() == Long.MIN_VALUE, когда x < Long.MIN_VALUE

Выбрасывает

IllegalArgumentException

если это значение 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_VALUE

  • x.roundToLong() == Long.MIN_VALUE, когда x < Long.MIN_VALUE

Выбрасывает

IllegalArgumentException

если это значение 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API