Decimal.Round() Method in C# | Set - 1 - GeeksforGeeks

20 Mar, 2019
Decimal.Round Method is used to round a value to the nearest integer or a specified number of decimal places. There are 4 methods in the overload list of this method as follows:
Round(Decimal) Method
Round(Decimal, Int32) Method
Round(Decimal, MidpointRounding) Method
Round(Decimal, Int32, MidpointRounding) Method
Here, we will discuss the first two methods.
This method is used to round a decimal value to the nearest integer.
Syntax: public static decimal Round (decimal d);Here, it takes a decimal number to round.
Return Value: This method returns the integer which is nearest to the d parameter. If d is halfway between two integers, one of which is even and the other odd, the even number is returned.
Exceptions: This method throws OverflowException if the result is outside the range of a Decimal value.
Below programs illustrate the use of Decimal.Round(Decimal) Method:
Example 1:
// C# program to demonstrate the// Decimal.Round(Decimal) Methodusing 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);        }    }}
Output:
Rounded value is 184467440737096
Example 2: For OverflowException
// C# program to demonstrate the// Decimal.Round(Decimal) Methodusing 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);        }    }}
Compile-Time Errors:
prog.cs(15,51): error CS0594: Floating-point constant is outside the range of type `decimal’
This method is used to round a Decimal value to a specified number of decimal places.
Syntax: public static decimal Round (decimal d, int decimals);
Parameters:d: It is a decimal number which is to be rounded.decimals: It is a value from 0 to 28 that specifies the number of decimal places to round to.
Return Value: This method returns the decimal number equivalent to d rounded to decimals number of decimal places.
Exception: This method throws ArgumentOutOfRangeException if decimals is not a value from 0 to 28.
Below programs illustrate the use of Decimal.Round(Decimal, Int32) Method:
Example 1:
// C# program to demonstrate the// Decimal.Round(Decimal) Methodusing 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);        }    }}
Output:
Rounded value is 7922816251426433759354.3950
Example 2: For ArgumentOutOfRangeException
// C# program to demonstrate the// Decimal.Round(Decimal) Methodusing 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);        }    }}
Output:
Decimal place is not within bound
Exception Thrown: System.ArgumentOutOfRangeException

Reference:
https://docs.microsoft.com/en-us/dotnet/api/system.decimal.round?view=netframework-4.7.2
CSharp-Decimal-Struct
CSharp-method
C#
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Destructors in C#
Extension Method in C#
HashSet in C# with Examples
Top 50 C# Interview Questions & Answers
C# | How to insert an element in an Array?
Partial Classes in C#
C# | Inheritance
C# | List Class
Difference between Hashtable and Dictionary in C#
Lambda Expressions in C#