Duration (Pacific Standard Time):
To (Pacific Standard Time):
Impact:
• None
User Action:
• None

# Math.Round Method (Double)

Rounds a double-precision floating-point value to the nearest integral value.

Namespace:   System
Assembly:  mscorlib (in mscorlib.dll)

```Public Shared Function Round (
a As Double
) As Double
```

#### Parameters

a
Type: System.Double

A double-precision floating-point number to be rounded.

#### Return Value

Type: System.Double

The 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

## Notes to Callers:

Because of the loss of precision that can result from representing decimal values as floating-point numbers or performing arithmetic operations on floating-point 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 floating-point 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
Next
Console.WriteLine()

value = 11.5
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
```
Universal Windows Platform
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