Drop hier links of afbeeldingen om ze aan de editor toe te voegen.

Afronden en netjes tonen in C#

Het doel is om het verschil te begrijpen tussen de waarde van een getal afronden en die waarde met een vast aantal cijfers na de komma tonen.

Gewoon geval

Eerst een voorbeeld waarbij het volgende cijfer geen 5 is:

double prijs = 12.344;

// Afronden op 2 cijfers na de komma
double afgerondePrijs = Math.Round(prijs, 2, MidpointRounding.AwayFromZero);

Na het afronden bevat de variabele:

afgerondePrijs = 12.34

Het derde cijfer na de komma is 4. Daarom blijft het tweede cijfer na de komma hetzelfde.

Om de waarde met 2 cijfers na de komma te tonen:

Console.WriteLine(afgerondePrijs.ToString("F2"));

Uitvoer:

12,34

Grensgeval: het volgende cijfer is 5

Bekijk nu een voorbeeld waarbij het volgende cijfer 5 is:

double prijs = 12.495;

// Afronden op 2 cijfers na de komma
double afgerondePrijs = Math.Round(prijs, 2, MidpointRounding.AwayFromZero);

Na het afronden bevat de variabele:

afgerondePrijs = 12.5

12.50 is als getal hetzelfde als 12.5. Een double bewaart de extra nul niet voor de weergave.

Netjes tonen

Wil je het getal toch met 2 cijfers na de komma tonen, gebruik dan:

Console.WriteLine(afgerondePrijs.ToString("F2"));

Uitvoer:

12,50

ONTHOUD

Math.Round() = rondt de waarde af → 12.5

ToString("F2") = bepaalt de weergave → 12,50