Difference between revisions of "Round"

From Free Pascal wiki
Jump to navigationJump to search
(.5 uses "bankers rounding", example)
Line 1: Line 1:
 +
{{Round}}
 +
 
The [[RTL]] [[System unit]] contains function '''Round''', which rounds a [[Real]]-type value to an [[Integer]]-type value.
 
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 [[Longint]] 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.
 
It's input parameter is a real-type expression and Round returns a [[Longint]] 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.

Revision as of 21:44, 22 March 2018

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 Longint 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): Longint;
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: