C#:
Avrundning av tal
Hur man gör:
Här är en returbiljett för att avrunda tal i C#:
using System;
public class RoundingExamples
{
public static void Main()
{
double originalNumber = 123.4567;
// Avrunda till närmaste hela tal
double rounded = Math.Round(originalNumber);
Console.WriteLine(rounded); // Utdata: 123
// Specificera antal decimalplatser
double roundedTwoDecimalPlaces = Math.Round(originalNumber, 2);
Console.WriteLine(roundedTwoDecimalPlaces); // Utdata: 123.46
// Avrunda uppåt oavsett nästa siffra
double roundedUp = Math.Ceiling(originalNumber);
Console.WriteLine(roundedUp); // Utdata: 124
// Avrunda nedåt oavsett nästa siffra
double roundedDown = Math.Floor(originalNumber);
Console.WriteLine(roundedDown); // Utdata: 123
}
}
Fördjupning
Förr i tiden var avrundning en barnlek för att trimma beräkningskostnader. Varje cykel räknades, och att trimma tal sparade värdefull tid. Spola fram till modern C#, och det handlar om att hantera doubler och decimals kända benägenhet till precisionfel och visningskonstigheter.
Utöver Math.Round
, Math.Floor
och Math.Ceiling
, låter enumet MidpointRounding
oss styra ödet för stackars, mittsittande siffror—det är skiljevägen mellan bankregler och rättvisans lekplats av “avrunda halva upp”.
För tuffare gäng, som seriösa matematik- eller finansapplikationer, har vi decimal
över double
, vilket minskar avrundningsdramat genom att erbjuda högre precision—mindre avrundning, färre problem.