How to use decimal round() method with MidpointRounding in C#

1 Answer

0 votes
using System;

namespace ConsoleApplication_C_Sharp
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(decimal.Round(3.5M, 1));
            Console.WriteLine(decimal.Round(3.5M, 0));
            Console.WriteLine(decimal.Round(3.5M, 0, MidpointRounding.AwayFromZero));
            Console.WriteLine(decimal.Round(3.5M, 0, MidpointRounding.ToEven));
            Console.WriteLine();

            Console.WriteLine(decimal.Round(3.4M, 1));
            Console.WriteLine(decimal.Round(3.4M, 0));
            Console.WriteLine(decimal.Round(3.4M, 0, MidpointRounding.AwayFromZero));
            Console.WriteLine(decimal.Round(3.4M, 0, MidpointRounding.ToEven));
            Console.WriteLine();

            Console.WriteLine(decimal.Round(3.6M, 1));
            Console.WriteLine(decimal.Round(3.6M, 0));
            Console.WriteLine(decimal.Round(3.6M, 0, MidpointRounding.AwayFromZero));
            Console.WriteLine(decimal.Round(3.6M, 0, MidpointRounding.ToEven));
            Console.WriteLine();

            Console.WriteLine(decimal.Round(2.5M, 1));
            Console.WriteLine(decimal.Round(2.5M, 0));
            Console.WriteLine(decimal.Round(2.5M, 0, MidpointRounding.AwayFromZero)); // 3
            Console.WriteLine(decimal.Round(2.5M, 0, MidpointRounding.ToEven)); // 2
        }
    }
}

/*
run:
   
3.5
4
4
4

3.4
3
3
3

3.6
4
4
4

2.5
2
3
2

*/

 



answered Jan 18, 2017 by avibootz
...