Math.Round Method (Double)
Rounds a doubleprecision floatingpoint value to the nearest integral value.
Assembly: mscorlib (in mscorlib.dll)
Parameters
 a

Type:
System.Double
A doubleprecision floatingpoint number to be rounded.
Return Value
Type: System.DoubleThe integer nearest a. If the fractional component of a is halfway between two integers, one of which is even and the other odd, then the even number is returned. Note that this method returns a Double instead of an integral type.
Note 

For examples and comprehensive usage information about this and other overloads of the Round method, see the Round reference page. 
Notes to Callers:
Because of the loss of precision that can result from representing decimal values as floatingpoint numbers or performing arithmetic operations on floatingpoint values, in some cases the Round(Double) method may not appear to round midpoint values to the nearest even integer. In the following example, because the floatingpoint value .1 has no finite binary representation, the first call to the Round(Double) method with a value of 11.5 returns 11 instead of 12.
Module Example Public Sub Main() Dim value As Double = 11.1 For ctr As Integer = 0 To 5 value = RoundValueAndAdd(value) Next Console.WriteLine() value = 11.5 RoundValueAndAdd(value) End Sub Private Function RoundValueAndAdd(value As Double) As Double Console.WriteLine("{0} > {1}", value, Math.Round(value)) Return value + .1 End Function End Module ' The example displays the following output: ' 11.1 > 11 ' 11.2 > 11 ' 11.3 > 11 ' 11.4 > 11 ' 11.5 > 11 ' 11.6 > 12 ' ' 11.5 > 12
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1