PDA

Ver la Versión Completa : ayuda para poder truncar un float a dos decimales


microbiano
30-09-2011, 00:10:21
les comento que antes de postear ya busque en el foro y ya intente todo pero no me funciona.

ejemplo

resultado=12.36895

lo que quiero como resultado es 12.36

ya intente con:

trunc(resultado,-2)
round(resultado,-2)

entonces la opcion que veo es tener que pasarla a texto y despues del punto tomar los dos caracter.

tienen alguna otra sugerencia?

de antemano muchas gracias

ecfisa
30-09-2011, 00:44:18
Hola microbiano.

Para truncar a dos decimales:

var
Valor: Double;
begin
Valor:= 12.36895;
ShowMessage(FloatToStr( Trunc(Valor*100)/100) );
...


Saludos.

microbiano
30-09-2011, 04:53:18
excelente con la primera prueba, vere como funciona con los demas valores muchas gracias amigo.

lbidi
30-09-2011, 15:01:53
Tambien puedes probar con la funcion roundto( numero, decimales ), agregando la unit Math a tu
lista.

Saludos.

Al menos , asi lo uso yo.

ecfisa
30-09-2011, 17:32:22
Hola Ibidi.

Tu sugerencia sin dudas es la correcta para redondear, pero lo que busca microbiano es truncar la cífra.

Por ejemplo:

var
Valor: Double;
begin
Valor:= 12.36895;
ShowMessage(FloatToStr(Trunc(Valor*100)/100)); // muestra 12.36
ShowMessage(FloatToStr(RoundTo(Valor, -2))); // muestra 12.37
...


Un saludo.