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

איך לעשות:

יש לך מספר כלים נחמדים ושיטות ב-PowerShell לעיגול:

  • שיטת Round() ממחלקת Math
[Math]::Round(15.68) # מעגל ל-16
  • ציון עשרוניים:
[Math]::Round(15.684, 2) # מעגל ל-15.68
  • Ceiling() ו-Floor(), לעיגול תמיד למעלה או למטה:
[Math]::Ceiling(15.2) # מעגל למעלה ל-16
[Math]::Floor(15.9) # מעגל למטה ל-15

צלילה עמוקה

עיגול מספרים אינו חדש; הוא קיים מזה זמנים עתיקים, שימושי למסחר, מדע ומדידת זמן. כאשר מדובר ב-PowerShell, [Math]::Round() משתמשת ב"עיגול הבנקאי" כברירת מחדל, שבו 0.5 עובר למספר הזוגי הקרוב ביותר, מה שמפחית הטיה בפעולות סטטיסטיות.

אתה לא תקוע רק עם שיטות [Math]. רוצה שליטה רבה יותר? בדוק את [System.Math]::Round(Number, Digits, MidpointRounding) שם אתה יכול לקבוע איך מרכזיות מטופלות: הרחק מאפס או לכיוון הזוגי (כלומר עיגול הבנקאי).

זווית נוספת: האובייקט System.Globalization.CultureInfo. הוא עוזר עם עיצוב והעדפות עיגול ספציפיות לאזור כאשר מתמודדים עם מספרים בינלאומיים.

ראה גם

  • המסמכים הרשמיים של מיקרוסופט על שיטות Math: קישור
  • פרטיות עיגול עשרוני ב-.NET: קישור
  • דיונים על עיגול ב-StackOverflow: קישור