Главная страница | назад

Article #16814: Explaination of rounding

 Question and Answer Database

FAQ1814D.txt   Explaination of rounding
Category   :Object Pascal
Platform    :All
Product    :All 32 bit  

Since Delphi's Round() function uses "bankers rounding" where the
value is rounded to the nearest even number, how can I round a
floating point number using the more traditional means, where
fractional values less than .5 round down, and fractional values
of .5 and greater round up?

The following function demonstrates rounding down numbers with
fractional values of less than .5, and rounding up numbers with
fractional values of .5 and greater.


function RoundUp(X: Extended): Extended;
  Result := Trunc(X) + Trunc (Frac(X) * 2);

7/16/98 4:31:28 PM

Last Modified: 01-SEP-99