The digits parameter specifies the number of fractional digits in the return value and ranges from 0 to 15. If digits is zero, an integer is returned.
The maximum total number of integral and fractional digits that can be returned is 15. If the rounded value contains more than 15 digits, the 15 most significant digits are returned. If the rounded value contains 15 or fewer digits, the integral digits and as many fractional digits as the digits parameter specifies are returned.
If the value of the first digit in value to the right of the digits decimal position is 5, the digit in the digits position is rounded up if it is odd, or left unchanged if it is even. If the precision of value is less than digits, value is returned unchanged.
The behavior of this method follows IEEE Standard 754, section 4. This kind of rounding is sometimes called rounding to nearest, or banker's rounding. It minimizes rounding errors that result from consistently rounding a midpoint value in a single direction. To control the type of rounding used by the Round(Double, Int32) method, call the Math..::.Round(Double, Int32, MidpointRounding) overload.