VB.NET Math.Round Example

Examine the Math.Round Function, and use the MidpointRounding argument.

Math.Round. Numbers can be rounded in many ways. In the .NET Framework, Math.Round provides built-in logic. With it we round with special options—away from zero, or to even. It acts on many numeric types, including Double and Decimal.Double

Example. This program calls Math.Round on the Double 123.45. With no options, it rounds this number to 123. With a second option of 1, we round to one decimal place. This yields the values 123.5 (for AwayFromZero) and 123.4 (for ToEven).

AwayFromZero: With a positive number, this option will round up—so 123.45 becomes 123.5.

ToEven: This will round to an even number—so 123.45 becomes 123.4 because 4 is an even number and 5 is not.

VB.NET program that calls Math.Round Module Module1 Sub Main() ' Call Math.Round on this Double. Dim before As Double = 123.45 Dim after1 As Double = Math.Round(before, 1, MidpointRounding.AwayFromZero) Dim after2 As Double = Math.Round(before, 1, MidpointRounding.ToEven) Dim after3 As Double = Math.Round(before) Console.WriteLine(before) Console.WriteLine(after1) Console.WriteLine(after2) Console.WriteLine(after3) Console.WriteLine() ' Use on this Decimal. Dim before2 As Decimal = 125.101 Dim after4 As Decimal = Math.Round(before2) Dim after5 As Decimal = Math.Round(before2, 1) Console.WriteLine(before2) Console.WriteLine(after4) Console.WriteLine(after5) End Sub End Module Output 123.45 123.5 123.4 123 125.101 125 125.1

Notes, program. We also use the Math.Round overloads on the Decimal type. These have the same results and logic as the Double type. The Math Class is designed to support many numeric types, including Double and Decimal and others.

Also: It is possible to provide two arguments to Math.Round. The second Integer specifies the number of decimal places to round to.


Summary. Rounding functionality in the .NET Framework is built-in and easy-to-use. It is not needed to develop custom Functions in most programs. We instead invoke the Math.Round Shared Function, with one to three arguments.
Dot Net Perls
© 2007-2020 Sam Allen. Every person is special and unique. Send bug reports to