Arrotondare un valore decimale a 2 cifre decimali C#

Minahil Noor 16 febbraio 2024
  1. Programma C# per arrotondare un valore decimale a 2 posizioni decimali utilizzando il metodo decimal.Round()
  2. Programma C# per arrotondare un valore decimale a 2 posizioni decimali utilizzando il metodo Math.Round()
Arrotondare un valore decimale a 2 cifre decimali C#

In C#, possiamo facilmente arrotondare un numero decimal utilizzando metodi diversi, ad esempio decimal.Round() e Math.Round().

Questo articolo si concentrerà sui metodi per arrotondare un valore mobile a 2 cifre decimali.

Programma C# per arrotondare un valore decimale a 2 posizioni decimali utilizzando il metodo decimal.Round()

Il metodo decimal.Round() è il metodo più semplice utilizzato per arrotondare un numero decimale a un numero di cifre specificato. Questo metodo consente fino a 28 posizioni decimali.

La sintassi corretta per utilizzare questo metodo è la seguente:

decimal.Round(decimalValueName, integerValue);

Codice di esempio:

using System;

public class RoundDecimal {
  public static void Main() {
    decimal decimalValue = 123.456M;
    Console.WriteLine("The Decimal Value Before Applying Method: {0}", decimalValue);
    Console.WriteLine();
    decimalValue = decimal.Round(decimalValue, 2);
    Console.WriteLine("The Decimal Value After Applying Method: {0}", decimalValue);
  }
}

Produzione:

The Decimal Value Before Applying Method : 123.456

    The Decimal Value After Applying Method : 123.46

Questo metodo genera ArgumentOutOfRangeException se il valore intero che indica il numero di posizioni decimali da arrotondare non è compreso tra 0 e 28. Questa eccezione viene quindi gestita utilizzando un blocco try-catch.

C’è un altro modo per usare il metodo decimal.Round(), il codice di esempio è fornito di seguito:

Codice di esempio:

using System;

public class RoundDecimal {
  public static void Main() {
    decimal decimalValue = 12.345M;
    Console.WriteLine("The Decimal Value Before Applying Method: {0}", decimalValue);
    Console.WriteLine();
    decimalValue = decimal.Round(decimalValue, 2, MidpointRounding.AwayFromZero);
    Console.WriteLine("The Decimal Value After Applying Method: {0}", decimalValue);
  }
}

Produzione:

The Decimal Value Before Applying Method : 12.345

    The Decimal Value After Applying Method : 12.35

MidpointRounding.AwayFromZero viene utilizzato per arrotondare il numero a partire da zero. La sua controparte è MidpointRounding.ToEven, che arrotonda il numero decimale specificato verso il suo numero pari più vicino.

Codice di esempio:

using System;

public class RoundDecimal {
  public static void Main() {
    decimal decimalValue = 12.345M;
    Console.WriteLine("The Decimal Value Before Applying Method: {0}", decimalValue);
    Console.WriteLine();
    decimalValue = decimal.Round(decimalValue, 2, MidpointRounding.ToEven);
    Console.WriteLine("The Decimal Value After Applying Method: {0}", decimalValue);
  }
}

Produzione:

The Decimal Value Before Applying Method : 12.345

    The Decimal Value After Applying Method : 12.34

Programma C# per arrotondare un valore decimale a 2 posizioni decimali utilizzando il metodo Math.Round()

Il metodo Math.Round() è lo stesso del metodo decimal.Round() nella sua funzionalità.

La sintassi corretta per utilizzare questo metodo è la seguente:

Math.Round(decimalValueName, integerValue);

Codice di esempio:

using System;

public class RoundDecimal {
  public static void Main() {
    decimal decimalValue = 123.456M;
    Console.WriteLine("The Decimal Value Before Applying Method: {0}", decimalValue);
    Console.WriteLine();
    decimalValue = Math.Round(decimalValue, 2);
    Console.WriteLine("The Decimal Value After Applying Method: {0}", decimalValue);
  }
}

Produzione:

The Decimal Value Before Applying Method : 123.456

    The Decimal Value After Applying Method : 123.46

Genera anche eccezioni proprio come il metodo decimal.Round(), che viene poi gestito usando il blocco try-catch. Potremmo anche specificare il metodo MidpointRounding come quello nel metodo decimal.Round().

Articolo correlato - Csharp Decimal