PDA

Ver la Versión Completa : Redondear un número en coma flotante a cualquier precisión


Neftali [Germán.Estévez]
30-06-2006, 15:29:32
Esta sencilla función redondea cualquier número a la precisión que se desé, y devuelve el resultado vara ser asignado a valores monetarios.

Aunque esta función está asociada internamente a cantidad de rutinas que manejan números, es bueno tenerla aislada por si llega a ser necesaria.


function Redondea(Numero : Double;PrecisionDec : byte) : Currency;

function Potencia(Base : Double;Exponente : byte) : Double;
begin
Result := Exp(Exponente * ln(Base));
end;

begin
result := Round(Numero*Potencia(10,PrecisionDec))/Potencia(10, PrecisionDec);
end;