Здравствуйте, AMogil, Вы писали:
AM>>Пример из справки Delphi
AM>>Expression Value
AM>>SimpleRoundTo(1234567, 3) 1234000
AM>>SimpleRoundTo(1.234, -2) 1.23 !!!!!!!
AM>>SimpleRoundTo(1.235, -2) 1.24
AM>>SimpleRoundTo(-1.235, -2) -1.23
AM>>И техт:
AM>>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.
AM>Попробуйте
AM>SetRoundMode(rmDown);
Спасибо, заработало

Хотя странно, SimpleRoundTo вроде не должен использовать RoundMode
function SimpleRoundTo(const AValue: Double; const ADigit: TRoundToRange = -2): Double;
var
LFactor: Double;
begin
LFactor := IntPower(10, ADigit);
Result := Trunc((AValue / LFactor) + 0.5) * LFactor;
end;
В чем причина?