การปัดเศษของตัวเลข

Kotlin:
การปัดเศษของตัวเลข

วิธีการ:

ใน Kotlin, สามารถทำการปัดเศษได้โดยใช้ฟังก์ชั่นต่างๆ เช่น roundToInt(), roundToDouble(), และการใช้ BigDecimal เพื่อควบคุมได้มากขึ้น:

fun main() {
    val number1 = 3.14159
    println(number1.roundToInt()) // แสดงผล: 3

    val number2 = 3.5
    println(number2.roundToInt()) // แสดงผล: 4

    val number3 = 123.456
    println("%.2f".format(number3)) // แสดงผล: 123.46
    
    val bigDecimal = number3.toBigDecimal().setScale(1, RoundingMode.HALF_EVEN)
    println(bigDecimal) // แสดงผล: 123.5
}

ลงลึก

ในอดีต, การปัดเศษตัวเลขได้รับการมองว่าเป็นแนวคิดพื้นฐานทั้งในเรื่องของคณิตศาสตร์และการคำนวณ, มีการออกแบบมาเพื่อจัดการกับข้อจำกัดเกี่ยวกับความแม่นยำของตัวเลข ในยุคต้นๆ ของการคำนวณ, การปัดเศษมีความสำคัญเนื่องจากค่าใช้จ่ายของหน่วยความจำที่สูง

ใน Kotlin, การปัดเศษได้รับการสร้างขึ้นบนไลบรารีมาตรฐานของ Java ตัวเลือกสำหรับการปัดเศษ ได้แก่ Math.round(), ซึ่งปัดเศษไปยังจำนวนเต็มที่ใกล้ที่สุด, และ BigDecimal สำหรับการปัดเศษที่สามารถกำหนดได้เอง, โดยคุณสามารถระบุสเกลและ RoundingMode

RoundingMode แต่ละอย่างมีนโยบายที่แตกต่างกันสำหรับการจัดการกับการเสมอ (เมื่อตัวเลขอยู่ตรงกลางของตัวเลือกสำหรับการปัดเศษ) ตัวอย่างเช่น, RoundingMode.HALF_UP จะปัดเศษไปยังเพื่อนบ้านที่ใกล้ที่สุด, เว้นแต่เพื่อนบ้านทั้งสองอยู่ห่างเท่ากัน, ในกรณีนั้นจะปัดเศษขึ้น

ดูเพิ่มเติม

  • เอกสารการเอกสารของ Kotlin เกี่ยวกับ BigDecimal
  • เอกสารของ Oracle เกี่ยวกับ Java เกี่ยวกับ RoundingMode
  • มาตรฐาน IEEE สำหรับ Floating-Point Arithmetic (IEEE 754) มาตรฐาน IEEE 754