Avrundning av tal

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.

Se också