C#:
עיגול מספרים
איך לעשות:
הנה הכרטיס המושלם לעיגול מספרים ב-C#:
using System;
public class RoundingExamples
{
public static void Main()
{
double originalNumber = 123.4567;
// עיגול למספר שלם הקרוב ביותר
double rounded = Math.Round(originalNumber);
Console.WriteLine(rounded); // פלט: 123
// ציון מספר המקומות העשרוניים
double roundedTwoDecimalPlaces = Math.Round(originalNumber, 2);
Console.WriteLine(roundedTwoDecimalPlaces); // פלט: 123.46
// עיגול למעלה בלי תלות בספרה הבאה
double roundedUp = Math.Ceiling(originalNumber);
Console.WriteLine(roundedUp); // פלט: 124
// עיגול למטה בלי תלות בספרה הבאה
double roundedDown = Math.Floor(originalNumber);
Console.WriteLine(roundedDown); // פלט: 123
}
}
צלילה עמוקה
בימים ההם, עיגול היה משימה פשוטה לקיצוץ עלויות חישוב. כל מחזור ספירה נספר, וקיצוץ מספרים חסך זמן יקר. קפיצה ל-C# המודרני, והעניין הוא לנהל כפולים ועשרוניים בעלי נטייה נודעת לשגיאות דיוק וחוסרים בהצגה.
מעבר ל-Math.Round
, Math.Floor
ו-Math.Ceiling
, ה-enumeration MidpointRounding
מאפשר לנו לקבוע את גורל הספרות המרכזיות העניות - זהו צומת הדרכים בין כללי הבנקאות להוגנות של “עגל חצי למעלה”.
לקהלים קשים יותר, כמו יישומי מתמטיקה או פיננסים רציניים, יש לנו את decimal
על פני double
, מקטין דרמה של עיגול על ידי הצעת דיוק גבוה יותר - פחות עיגולים, פחות בעיות.