Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Redondeo de Float (https://www.clubdelphi.com/foros/showthread.php?t=59884)

Nomad 11-09-2008 18:00:36

Redondeo de Float
 
Hola a todos!

Tengo un numero float.

pero cuando lo muestro en el grid, me jala un monton de decimales que no estan en la base de datos.

Como puedo hacer para redondear, a solamente un decimal por ejemplo.

He usado el Round, pero creo que no me permite indicar cuantos, decimales quiero que muestre...

jhonny 11-09-2008 18:03:33

Con el RoundTo ;) o aplicandole un Formato a la propiedad DisplayFormat del campo en cuestión.

Nomad 11-09-2008 18:10:27

Creo que el displayformat no me va a servir porque es un StringGrid y el RoundTo a que libreria pertenece?

jhonny 11-09-2008 18:18:03

Cita:

Empezado por Nomad (Mensaje 313568)
Creo que el displayformat no me va a servir porque es un StringGrid y el RoundTo a que libreria pertenece?

El RoundTo es de la unidad Math, si estas usando un TStringGrid, entonces tal vez también te pueda interesar la función FormatFloat ;)

Nomad 11-09-2008 18:30:58

Lo hice asi

Código Delphi [-]
GrDetalle.Cells[2,i] := FloatToStr(RoundTo(LocalQuery.Fields[2].AsFloat,2))

Y me devuelve un 0

jhonny 11-09-2008 18:32:17

Hazlo asi:

Código Delphi [-]
GrDetalle.Cells[2,i] := FloatToStr(RoundTo(LocalQuery.Fields[2].AsFloat, -2));

Nomad 11-09-2008 18:37:29

Gracias si sirvió.

Pero porque -2 o 2?

ninguno 11-09-2008 18:41:02

Hola

Usa directamente FormatFloat, que ya te revuelve un string

Código Delphi [-]
GrDetalle.Cells[2,i] := FormatFloat('#,##0.00', LocalQuery.Fields[2].AsFloat);

jhonny 11-09-2008 19:20:05

Cita:

Empezado por Nomad (Mensaje 313581)
Gracias si sirvió.

Pero porque -2 o 2?


Si el valor es positiva redondea hacia la izquierda, si es negavito hacia la derecha ;)

En todo caso, tal vez te conviene mas utilizar la función FormatFloat, la cosa es tal y cual como te ha mostrado ninguno.


La franja horaria es GMT +2. Ahora son las 10:41:38.

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