Difference between revisions of "Round"

From Lazarus wiki
Jump to navigationJump to search
(add link to Frac)
 
(One intermediate revision by one other user not shown)
Line 32: Line 32:
  
  
* {{Doc|package=RTL|unit=system|identifier=round|text=<syntaxhighlight lang="pascal" enclose="none">system.round</syntaxhighlight>}}  
+
* {{Doc|package=RTL|unit=system|identifier=round|text=<syntaxhighlight lang="pascal" inline>system.round</syntaxhighlight>}}  
* {{Doc|package=RTL|unit=math|identifier=ceil|text=<syntaxhighlight lang="pascal" enclose="none">math.ceil</syntaxhighlight>}} - round up  
+
* {{Doc|package=RTL|unit=math|identifier=ceil|text=<syntaxhighlight lang="pascal" inline>math.ceil</syntaxhighlight>}} - round up  
* {{Doc|package=RTL|unit=math|identifier=floor|text=<syntaxhighlight lang="pascal" enclose="none">math.floor</syntaxhighlight>}} - round down  
+
* {{Doc|package=RTL|unit=math|identifier=floor|text=<syntaxhighlight lang="pascal" inline>math.floor</syntaxhighlight>}} - round down  
* [[Frac|<syntaxhighlight lang="pascal" enclose="none">trunc</syntaxhighlight>]] - returns the fractional part of a floating point value   
+
* [[Frac|<syntaxhighlight lang="pascal" inline>frac</syntaxhighlight>]] - returns the fractional part of a floating point value   
* [[Trunc|<syntaxhighlight lang="pascal" enclose="none">trunc</syntaxhighlight>]] - round towards zero   
+
* [[Trunc|<syntaxhighlight lang="pascal" inline>trunc</syntaxhighlight>]] - round towards zero   
* [[Int|<syntaxhighlight lang="pascal" enclose="none">int</syntaxhighlight>]] - returns the integer part of a floating point value
+
* [[Int|<syntaxhighlight lang="pascal" inline>int</syntaxhighlight>]] - returns the integer part of a floating point value
* [[Div|<syntaxhighlight lang="pascal" enclose="none">div</syntaxhighlight>]] - integer division
+
* [[Div|<syntaxhighlight lang="pascal" inline>div</syntaxhighlight>]] - integer division
 +
* [[Comparison of approaches for rounding to an integer]]

Latest revision as of 17:17, 6 August 2022

Deutsch (de) English (en) Esperanto (eo) suomi (fi) русский (ru)

The RTL System unit contains function Round, which rounds a Real-type value to an Integer-type value. It's input parameter is a real-type expression and Round returns a Int64 value that is the value of the input rounded to the nearest whole number. If the input value is exactly halfway between two whole numbers - N.5 - then "bankers rounding" is used, with the result being the nearest even number.

Declaration

function Round(X: Real): int64;

Example Usage

begin
   WriteLn( Round(8.7) );
   WriteLn( Round(8.3) );
   // examples of "bankers rounding" - .5 is adjusted to the nearest even number
   WriteLn( Round(2.5) );
   WriteLn( Round(3.5) );
end.

Output

 9
 8
 2
 4

See also