Kotlin:
Avrundning av tal

Hur man gör:

I Kotlin kan avrundning göras med flera funktioner som roundToInt(), roundToDouble(), och med BigDecimal för mer kontroll:

fun main() {
    val number1 = 3.14159
    println(number1.roundToInt()) // Utskrift: 3

    val number2 = 3.5
    println(number2.roundToInt()) // Utskrift: 4

    val number3 = 123.456
    println("%.2f".format(number3)) // Utskrift: 123.46
    
    val bigDecimal = number3.toBigDecimal().setScale(1, RoundingMode.HALF_EVEN)
    println(bigDecimal) // Utskrift: 123.5
}

Fördjupning

Historiskt sett har avrundning av tal varit ett grundläggande koncept i både matematik och datavetenskap, utformad för att hantera begränsningar i numerisk precision. I tidig datorberäkning var avrundning avgörande på grund av det höga priset på minne.

I Kotlin bygger avrundning på standard Java-bibliotek. Alternativ för avrundning inkluderar Math.round(), som avrundar till närmaste hela tal, och BigDecimal för anpassningsbar avrundning, där du kan ange en skalning och ett RoundingMode.

Varje RoundingMode har olika policyer för att hantera oavgjorda situationer (när siffran är exakt i mitten av alternativen för avrundning). Till exempel rundar RoundingMode.HALF_UP till den närmaste grannen, såvida inte båda grannarna är lika avstånd från varandra, i vilket fall det avrundar uppåt.

Se också