PDA

Ver la Versión Completa : ¿¿Redondear números??


Magneto
04-12-2003, 04:19:44
Gentes, tengo otro problema que espero me puedan ayudar a solucionar.
¿Hay algún comando para redondear números a una cantidad de cifras significativas determinadas? Los comandos que ví en la ayuda no hacen eso exactamente, necesitaría que pueda ingresar la cantidad de cifras "significativas" que debe tener (lo quiero hacer para el programa de gráficas).
Desde ya........muito obrigado.

HERNAN
04-12-2003, 04:58:00
Espero esto te pueda servir, lo saque de Trucomania, lo he usado y funciono bien.
Puedes usar Trunc o Round

{NOTA: el numero de digitos entre la parte entera y la decimal, nunca superara los 15 - ver tipo Real -}

function Redondear(Valor: Real; Redondeo: Integer):Real;
begin
Redondear := Trunc(Valor * Power(10, Redondeo)) / Power(10,Redondeo);
end;

Ejemplos, segun que uses

Con Trunc:
Redondear(StrToFloat('147845,6789'), 3) = 147845,678
Redondear(StrToFloat('147845,6789'), 0) = 147845
Redondear(StrToFloat('147845,6789'), -3) = 147000

Con Round:
Redondear(StrToFloat('147845,6789'), 3) = 147845,679
Redondear(StrToFloat('147845,6789'), 0) = 147846
Redondear(StrToFloat('147845,6789'), -3) = 148000


Saludos :)