Spec-Zone.ru › Kotlin 2

roundToInt

kotlin-stdlib/kotlin.math/roundToInt

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

  • x.roundToInt() == Int.MIN_VALUE, когда x < Int.MIN_VALUE

Выбрасывает

IllegalArgumentException

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

  • x.roundToInt() == Int.MIN_VALUE, когда x < Int.MIN_VALUE

Выбрасывает

IllegalArgumentException

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

  • x.roundToInt() == Int.MIN_VALUE, когда x < Int.MIN_VALUE

Выбрасывает

IllegalArgumentException

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

  • x.roundToInt() == Int.MIN_VALUE, когда x < Int.MIN_VALUE

Выбрасывает

IllegalArgumentException

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

Spec-Zone.ru

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