RoundTo Routine
Rounds a floating-point value to a specified digit or power of ten using "Banker's rounding".
Unit
Math
Syntax
[Delphi] function RoundTo(const AValue: Double; const ADigit: TRoundToRange): Double;
Description
Call RoundTo to round AValue to a specified power of ten.
AValue is the value to round.
ADigit indicates the power of ten to which you want AValue rounded. It can be any value from –37 to 37 (inclusive).
RoundTo uses "Banker's Rounding" to determine how to round values that are exactly midway between the two values that have the desired number of significant digits. This method rounds to an even number in the case that AValue is not nearer to either value.
The following examples illustrate the use of RoundTo:
Expression Value
RoundTo(1234567, 3)
1234000
RoundTo(1.234, -2)
1.23
RoundTo(1.235, -2)
1.24
RoundTo(1.245, -2)
1.24
SimpleRoundTo Routine
Rounds a floating-point value to a specified digit or power of ten using asymmetric arithmetic rounding.
Unit
Math
Syntax
[Delphi] function SimpleRoundTo(const AValue: Double; const ADigit: TRoundToRange): Double;
Description
Call SimpleRoundTo to round AValue to a specified power of ten.
AValue is the value to round.
ADigit indicates the power of ten to which you want AValue rounded. It can be any value from –37 to 37 (inclusive).
SimpleRoundTo uses asymmetric arithmetic rounding to determine how to round values that are exactly midway between the two values that have the desired number of significant digits. This method always rounds to the larger value.
The following examples illustrate the use of SimpleRoundTo:
Expression Value
SimpleRoundTo(1234567, 3)
1234000
SimpleRoundTo(1.234, -2)
1.23
SimpleRoundTo(1.235, -2)
1.24
SimpleRoundTo(-1.235, -2)
-1.23
Related Information
Math.RoundTo