Difference between revisions of "Round"

From Free Pascal wiki
Jump to navigationJump to search
(add link to Frac)
Line 35: Line 35:
 
* {{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" enclose="none">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" enclose="none">math.floor</syntaxhighlight>}} - round down  
 +
* [[Frac|<syntaxhighlight lang="pascal" enclose="none">trunc</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" enclose="none">trunc</syntaxhighlight>]] - round towards zero   
* [[Int|<syntaxhighlight lang="pascal" enclose="none">int</syntaxhighlight>]] - returns the integer part of floating point value.
+
* [[Int|<syntaxhighlight lang="pascal" enclose="none">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" enclose="none">div</syntaxhighlight>]] - integer division

Revision as of 11:17, 18 August 2019

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