Ha... por cierto, recomiendo que se de una revisión a la unidad Math... Hay una buena cantidad de funciones, para lo que se ha estado debatiendo y viene al caso están las funciones: Round, RoundTo, SimpleRoundTo, además de Ceil y Floor y la posibilidad de indicar el modo de redondeo.
Amigo Casi, tu función me recuerda mucho a SimpleRoundTo.
Código Delphi
[-]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;
Por último, no olvidarse que en el mundo de la aritmética flotante no existe exactitud absoluta
. Por más exactamente redondeadas que sean las implementaciones de las operaciones soportadas por el estándar IEEE 754 estamos sujetos a ciertas imprecisiones y limitaciones.
Saludos,