Ruby:
עיגול מספרים

איך לעשות:

# עיגול בסיסי
puts 3.14159.round      # => 3
puts 2.6.round          # => 3

# הגדרת דיוק
puts 3.14159.round(2)   # => 3.14
puts 2.675.round(2)     # => 2.68

# עיגול למטה
puts 2.9.floor          # => 2

# עיגול למעלה
puts 2.1.ceil           # => 3

# עיגול לעבר אפס
puts -2.9.round         # => -3
puts -2.9.truncate      # => -2

פלט לדוגמא:

3
3
3.14
2.68
2
3
-3
-2

צלילה עמוקה

עיגול מספרים אינו חידוש—בני אדם עושים זאת במשך מאות שנים כדי להקל על חישובים או לעבוד בהתאם למגבלות הכלים שלהם. בRuby, השיטה round היא גמישה, עם היכולת לעגל למספר שלם הקרוב ביותר כברירת מחדל או למקום עשרוני מסוים.

חלופה לround היא floor לעיגול תמיד למטה, וceil לעיגול תמיד למעלה, ללא תלות בערך המספר. כדי פשוט לקצץ את הספרות מאחורי הנקודה, יש לך את truncate.

היסטורית, כשמדובר במחשבים, עיגול הופך לקריטי בעבודה עם חישוב אריתמטי נקודה צפה משום שיש בו אי דיוק גלום. Ruby, כמו רוב השפות, עוקבת אחרי התקן IEEE 754 למספרים בנקודה צפה, מה שאומר שהיא מתמודדת עם עיגול באופן שרוב המתכנתים אמורים להיות מסוגלים לחזות ולהסתמך עליו.

יש עוד לזה, אף על פי—דברים כמו עיגול הבנקאי (ידוע גם כעגלה של חצי לזוגי) הם מושגים שמפתחי Ruby אולי יצטרכו ליישם באופן ידני, מאחר והשיטה round לא מציעה אותו מחוץ לקופסא.

ראה גם