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.