Math.Round
In .NET, the Math.Round
function provides built-in logic. With the MidpointRounding
enum
we round with special options—away from zero, or to even.
Numbers can be rounded in many ways. The Math.Round
function has forms that act on many numeric types, including Double
and Decimal
.
Consider the Double
1.234. When we call the Math.Round
function on it, we receive the number 1—the fractional part was rounded down.
1.234 -> 1
This program calls Math.Round
on the Double
123.45. To call Math.Round
With no options, we use just one argument. This rounds the number to 123.
AwayFromZero
) and 123.4 (for ToEven
).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 Module123.45 123.5 123.4 123 125.101 125 125.1
We also use Math.Round
on the Decimal
type. These have the same results as the Double
type. The Math Class
supports many numeric types, including Double
and Decimal
and others.
Math.Round
. The second Integer specifies the number of decimal places to round to.Rounding functionality is available in .NET. It is not needed to develop custom Functions in most programs. We instead invoke the Math.Round
Shared Function, with 1 to 3 arguments.