Description |
The Round function rounds a floating point Number to the nearest whole value (integer), or the nearest decimal value of the given number of decimal places.
The optional DecPlaces parameter defines this precision, up to a maximum of 28 decimal places.
The rounding uses Bankers rules, where an exact half value causes a rounding to an even number:
12.4 rounds to | 12 |
12.5 rounds to | 12 // Round down to even |
12.6 rounds to | 13 |
| |
13.4 rounds to | 13 |
13.5 rounds to | 14 // Round up to even |
13.6 rounds to | 14 |
|
| Notes | Static methods are not methods of an object - they are simply class functions or procedures available at any time.
|
|
Microsoft MSDN Links |
System
System.Math
|
|
|
Illustrating Bankers rounding and control of decimal places |
program Project1;
{$APPTYPE CONSOLE}
var
result : Decimal;
begin
result := System.Math.Round(-1.23);
Console.WriteLine('Round(-1.23) = {0}', result.ToString);
result := System.Math.Round(1.23);
Console.WriteLine('Round(1.23) = {0}', result.ToString);
result := System.Math.Round(-1.5);
Console.WriteLine('Round(-1.5) = {0}', result.ToString);
result := System.Math.Round(1.5);
Console.WriteLine('Round(1.5) = {0}', result.ToString);
result := System.Math.Round(-2.5);
Console.WriteLine('Round(-2.5) = {0}', result.ToString);
result := System.Math.Round(2.5);
Console.WriteLine('Round(2.5) = {0}', result.ToString);
result := System.Math.Round(2.51, 0);
Console.WriteLine('Round(2.51, 0) = {0}', result.ToString);
result := System.Math.Round(2.51, 1);
Console.WriteLine('Round(2.51, 1) = {0}', result.ToString);
result := System.Math.Round(0.123456, 4);
Console.WriteLine('Round(0.123456, 4) = {0}', result.ToString);
Console.ReadLine;
end.
| Show full unit code | Round(-1.23) = -1
Round(1.23) = 1
Round(-1.5) = -2
Round(1.5) = 2
Round(-2.5) = -2
Round(2.5) = 2
Round(2.51, 0) = 3
Round(2.51, 1) = 2.5
Round(0.123456, 4) = 0.1235
|
|
|
|