Arredondar um valor decimal para 2 casas decimais C#

Minahil Noor 16 fevereiro 2024
  1. C# Programa para arredondar um valor Decimal para 2 casas decimais Utilizando decimal.Round() Método
  2. C# Programa para arredondar um valor decimal para 2 casas decimais, utilizando Math.Round() Método
Arredondar um valor decimal para 2 casas decimais C#

Em C#, podemos facilmente arredondar um número decimal utilizando diferentes métodos, por exemplo, decimal.Round() e Math.Round().

Este artigo focalizará os métodos de arredondamento de um valor flutuante para 2 casas decimais.

C# Programa para arredondar um valor Decimal para 2 casas decimais Utilizando decimal.Round() Método

O método decimal.Round() é o método mais simples que é utilizado para arredondar um número decimal para um número especificado de dígitos. Este método permite até 28 casas decimais.

A sintaxe correta para utilizar este método é a seguinte:

decimal.Round(decimalValueName, integerValue);

Exemplo de código:

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

Resultado:

The Decimal Value Before Applying Method : 123.456

    The Decimal Value After Applying Method : 123.46

Este método lança ArgumentOutOfRangeException se o valor integer que indica o número de casas decimais a arredondar não estiver em um intervalo de 0-28. Esta exception é então manipulada utilizando um bloco de try-catch.

Há outra maneira de utilizar o método decimal.Round(), o código de exemplo é dado abaixo:

Exemplo de código:

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

Resultado:

The Decimal Value Before Applying Method : 12.345

    The Decimal Value After Applying Method : 12.35

MidpointRounding.AwayFromZero é utilizado para arredondar o número a partir de zero. Sua contraparte é MidpointRounding.ToEven, que arredonda o número decimal dado para o número par mais próximo.

Exemplo de código:

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

Resultado:

The Decimal Value Before Applying Method : 12.345

    The Decimal Value After Applying Method : 12.34

C# Programa para arredondar um valor decimal para 2 casas decimais, utilizando Math.Round() Método

O método Math.Round() é o mesmo que o método decimal.Round() em sua funcionalidade.

A sintaxe correta para utilizar este método é a seguinte:

Math.Round(decimalValueName, integerValue);

Exemplo de código:

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

Resultado:

The Decimal Value Before Applying Method : 123.456

    The Decimal Value After Applying Method : 123.46

Ele também lança exception assim como o método decimal.Round(), que é então manipulado utilizando o bloco try-catch. Também poderíamos especificar o método MidpointRounding como o método decimal.Round().

Artigo relacionado - Csharp Decimal