Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   ayuda para poder truncar un float a dos decimales (https://www.clubdelphi.com/foros/showthread.php?t=75959)

microbiano 30-09-2011 00:10:21

ayuda para poder truncar un float a dos decimales
 
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:
Código Delphi [-]
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:
Código Delphi [-]
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.


La franja horaria es GMT +2. Ahora son las 00:15:06.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi