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

איך לעשות:

מודול Basics של Elm מספק פונקציות חכמות לעיגול: round, floor, ו-ceiling. הנה איך להשתמש בהן.

import Basics exposing (round, floor, ceiling)

-- לעגל לספרה השלמה הקרובה ביותר
round 3.14    --> 3
round 3.5     --> 4

-- לעגל כלפי מטה
floor 3.999   --> 3

-- לעגל כלפי מעלה
ceiling 3.001 --> 4

-- להשמיט ספרות עשרוניות בלי לעגל
truncate 3.76 --> 3

Elm גם מספק את toLocaleString לעיגול למספר קבוע של מקומות עשרוניים:

import Float exposing (toLocaleString)

-- לעגל לשני מקומות עשרוניים
toLocaleString 2 3.14159 --> "3.14"

נפילה לעומק

Elm הוא שפת תכנות פונקציונלית בעלת טיפוסיות חזקה שמסתמכת על תופעות לוואי של הארכיטקטורה ב"קצוות". זה אומר שפונקציות כמו עיגול חייבות להיות טהורות וניבויות. הסטורית, עיגול הוא פעולה נפוצה בשפות תכנות רבות שעוסקות בחוסר הדיוק של אריתמטיקת מספרים עשרוניים נקודה צפה.

גישת Elm לעיגול היא ישירה - הפונקציות טהורות ונאמנות להגדרות המתמטיות של עיגול, קרקע ותקרה. Elm מנבא את הצרכים הנפוצים על ידי הצעת פונקציות מובנות, מכיוון שניהול דיוק הוא דרישה נפוצה, במיוחד בתחום האופנה והגרפיקה.

אלטרנטיבות לפונקציות המובנות של Elm יכולות לכלול יישומים מותאמים אישית באמצעות פעולות אריתמטיות, אבל זה מוסיף מורכבות מיותרת כאשר הספרייה הסטנדרטית כבר עושה את העבודה ביעילות.

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

ראה גם