Redondea un valor decimal a 2 decimales C#

  1. Programa C# para redondear un valor decimal a 2 lugares decimales usando el método decimal.Round()
  2. C# Programa para redondear un valor Decimal a 2 lugares Decimal usando el método Math.Round()

En C#, podemos fácilmente redondear un número decimal usando diferentes métodos, por ejemplo, decimal.Round() y Math.Round().

Este artículo se centrará en los métodos para redondear un valor decimal a 2 lugares decimales.

Programa C# para redondear un valor decimal a 2 lugares decimales usando el método decimal.Round()

El método decimal.Round() es el método más simple que se utiliza para redondear un número decimal a un número específico de dígitos. Este método permite hasta 28 posiciones decimales.

La sintaxis correcta para usar este método es la siguiente:

decimal.Round(decimalValueName, integerValue);

Código de ejemplo:

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);
    }
}

Producción:

The Decimal Value Before Applying Method: 123.456

The Decimal Value After Applying Method: 123.46

Este método arroja ArgumentOutOfRangeException si el valor entero que indica el número de lugares decimales a redondear no está en un rango de 0-28. Esta excepción se maneja entonces usando un bloque de try...catch.

Hay otra forma de usar el método decimal.Round(), el código de ejemplo se da a continuación:

Código de ejemplo:

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);
    }
}

Producción:

The Decimal Value Before Applying Method: 12.345

The Decimal Value After Applying Method: 12.35

MidpointRounding.AwayFromZero se usa para redondear el número a partir de cero. Su contraparte es MidpointRounding.ToEven, que redondea el número decimal dado hacia su número par más cercano.

Código de ejemplo:

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);
    }
}

Producción:

The Decimal Value Before Applying Method: 12.345

The Decimal Value After Applying Method: 12.34

C# Programa para redondear un valor Decimal a 2 lugares Decimal usando el método Math.Round()

El método Math.Round() es el mismo que el método decimal.Round() en su funcionalidad.

La sintaxis correcta para usar este método es la siguiente:

Math.Round(decimalValueName, integerValue);

Código de ejemplo:

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);
    }
}

Producción:

The Decimal Value Before Applying Method: 123.456

The Decimal Value After Applying Method: 123.46

También lanza excepciones como el método decimal.Round(), que se maneja usando el bloque try-catch. También podríamos especificar el método MidpointRounding como el del método decimal.Round().

Artículo relacionado - Csharp Decimal

  • Float vs Double vs Decimal en C#