Método Decimal.Round() en C# | Serie 1

El método Decimal.Round se usa para redondear un valor al entero más cercano o a un número específico de lugares decimales. Hay 4 métodos en la lista de sobrecarga de este método de la siguiente manera:

  • Método redondo (decimal)
  • Método redondo (decimal, Int32)
  • Método Round(Decimal, MidpointRounding)
  • Método Round(Decimal, Int32, MidpointRounding)

Aquí, discutiremos los dos primeros métodos.

Método Decimal.Round(Decimal)

Este método se utiliza para redondear un valor decimal al entero más cercano.

Sintaxis: ronda decimal estática pública (d decimal);
Aquí, se necesita un número decimal para redondear.

Valor devuelto: este método devuelve el número entero más cercano al parámetro d . Si d está a medio camino entre dos números enteros, uno de los cuales es par y el otro impar, se devuelve el número par.

Excepciones: este método arroja OverflowException si el resultado está fuera del rango de un valor decimal.

Los siguientes programas ilustran el uso del método Decimal.Round(Decimal) :

Ejemplo 1:

// C# program to demonstrate the
// Decimal.Round(Decimal) Method
using System;
  
class GFG {
  
    // Main Method
    public static void Main()
    {
        try {
  
            // Declaring and initializing value
            decimal value = 184467440737095.51615M;
  
            // getting rounded decimal
            // using Round() method
            decimal round = Decimal.Round(value);
  
            // Display the value
            Console.WriteLine("Rounded value is {0}", round);
        }
  
        catch (OverflowException e) 
        {
            Console.WriteLine("Value must not be out of bound");
            Console.Write("Exception Thrown: ");
            Console.Write("{0}", e.GetType(), e.Message);
        }
    }
}

Producción:

Rounded value is 184467440737096

Ejemplo 2: para OverflowException

// C# program to demonstrate the
// Decimal.Round(Decimal) Method
using System;
  
class GFG {
  
    // Main Method
    public static void Main()
    {
  
        try 
        {
  
            // Declaring and initializing value
            decimal value = 79228162514264337593543950335.5M;
  
            // getting rounded decimal
            // using Round() method
            decimal round = Decimal.Round(value);
  
            // Display the value
            Console.WriteLine("Rounded value is {0}", round);
        }
  
        catch (OverflowException e) 
        {
            Console.WriteLine("Value must not be out of bound");
            Console.Write("Exception Thrown: ");
            Console.Write("{0}", e.GetType(), e.Message);
        }
    }
}

Errores de tiempo de compilación:

prog.cs(15,51): error CS0594: la constante de punto flotante está fuera del rango de tipo ‘decimal’

Método redondo (decimal, Int32)

Este método se utiliza para redondear un valor decimal a un número específico de lugares decimales.

Sintaxis: ronda decimal estática pública (decimal d, int decimales);

Parámetros:
d: Es un número decimal que se va a redondear.
decimales: Es un valor de 0 a 28 que especifica el número de decimales a redondear.

Valor devuelto: este método devuelve el número decimal equivalente a d redondeado a decimales número de lugares decimales.

Excepción: este método lanza ArgumentOutOfRangeException si decimales no es un valor de 0 a 28.

Los siguientes programas ilustran el uso del método Decimal.Round(Decimal, Int32) :

Ejemplo 1:

// C# program to demonstrate the
// Decimal.Round(Decimal) Method
using System;
  
class GFG {
  
    // Main Method
    public static void Main()
    {
        try {
  
            // Declaring and initializing value
            decimal value = 7922816251426433759354.39503305M;
  
            // getting rounded decimal
            // using Round() method
            decimal round = Decimal.Round(value, 4);
  
            // Display the value
            Console.WriteLine("Rounded value is {0}", round);
        }
  
        catch (ArgumentOutOfRangeException e) 
        {
            Console.WriteLine("decimal place is not within bound");
            Console.Write("Exception Thrown: ");
            Console.Write("{0}", e.GetType(), e.Message);
        }
    }
}

Producción:

Rounded value is 7922816251426433759354.3950

Ejemplo 2: para ArgumentOutOfRangeException

// C# program to demonstrate the
// Decimal.Round(Decimal) Method
using System;
  
class GFG {
  
    // Main Method
    public static void Main()
    {
        try 
        {
  
            // Declaring and initializing value
            decimal value = 7922816251426433759354.39503305M;
  
            // getting rounded decimal
            // using Round() method
            decimal round = Decimal.Round(value, 29);
  
            // Display the value
            Console.WriteLine("Rounded value is {0}", round);
        }
  
        catch (ArgumentOutOfRangeException e) 
        {
            Console.WriteLine("Decimal place is not within bound");
            Console.Write("Exception Thrown: ");
            Console.Write("{0}", e.GetType(), e.Message);
        }
    }
}

Producción:

Decimal place is not within bound
Exception Thrown: System.ArgumentOutOfRangeException

Referencia:

Publicación traducida automáticamente

Artículo escrito por RohitPrasad3 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *