Python:
עיגול מספרים
איך לעשות:
הנה המדריך לעיגול מספרים בפייתון:
# עיגול מספר לשלם הקרוב ביותר
print(round(8.67)) # פלט: 9
# עיגול מספר למספר מקומות עשרוניים נתון
print(round(8.67, 1)) # פלט: 8.7
# מספרים זוגיים מעוגלים למטה ומספרים אי-זוגיים מעוגלים למעלה כאשר הם במרחק שווה
print(round(2.5)) # פלט: 2
print(round(3.5)) # פלט: 4
צלילה עמוקה
בפייתון, הפונקציה round()
אינה רק “קוטעת” עשרוניים. באופן היסטורי, פייתון, כמו שפות רבות אחרות, נשענת על “עיגול חצי לזוגי” או “עיגול הבנקאי”. זה מזער שגיאה צבורה בסכומים או ממוצעים, מה שחשוב בחישובים פיננסיים.
לחלופות, יש לכם את math.floor()
ו-math.ceil()
ממודול המתמטיקה של פייתון, המורידים או מעלים מספרים למספר שלם הבא. אבל אם דיוק הוא מה שאתם מחפשים, decimal
מודול של quantize()
מאפשר לכם לציין התנהגות עיגול.
מאחורי הקלעים, round()
מתמודדת עם מספרים נקודה צפה בינאריים. מכיוון שחלק מהעשרוניים לא יכולים להבוטא בדיוק בבינארי, ייתכן שתתקלו בהפתעות עם דברים כמו round(2.675, 2)
שלא יהפכו ל-2.68
כצפוי. זהו הזמן לכנס את decimal
או fractions
לדיוק גבוה.
ראו גם
- תיעוד פייתון על פונקציות מובנות: https://docs.python.org/3/library/functions.html#round
- חישוב אריתמטי שבט ונקודה צפה של Decimal: https://docs.python.org/3/library/decimal.html
- מודול המתמטיקה של פייתון: https://docs.python.org/3/library/math.html