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, העיגול מבוסס על ספריות ג’אווה הסטנדרטיות. אפשרויות לעיגול כוללות Math.round()
, שעוגל למספר השלם הקרוב ביותר, וBigDecimal
לעיגול מותאם אישית, שם אפשר לציין סקאלה וRoundingMode
.
לכל RoundingMode
יש מדיניות שונה להתמודדות עם תיקויות (כאשר הספרה נמצאת בדיוק באמצע האפשרויות לעיגול). לדוגמא, RoundingMode.HALF_UP
עוגל לשכן הקרוב ביותר, אלא אם שני השכנים שווים מרחק, במקרה זה הוא יעגל למעלה.
ראה גם
- תיעוד Kotlin על
BigDecimal
- תיעוד Java של Oracle לגבי
RoundingMode
- התקן IEEE לחישוב נקודה צפה (IEEE 754) IEEE Standard 754