Home  |  Delphi .net Home  |  System.Math  |  Round Method
  
Round  
Method  
Rounds a number to the nearest value using Bankers rules
Math Class
System NameSpace
CF1.  Function Round ( Value : Decimal ) : Decimal; Static;
CF2.  Function Round ( Value : Double ) : Double; Static;
CF3.  Function Round ( Value : Decimal; DecPlaces : Integer ) : Decimal; Static;
CF4.  Function Round ( Value : Double; DecPlaces : Integer ) : Double; Static;
CF : Methods with this mark are Compact Framework Compatible
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
 Author links

 Buy Website Traffic at
 Buywebsitetrafficexperts.com

 Buy Proxies at
 Buyproxies.io
 
 
 
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.
   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
 
 
Delphi Programming Neil Moffatt 2002 - 2017. All rights reserved.  |  Contact the author