Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Problema con Float en Firebird (https://www.clubdelphi.com/foros/showthread.php?t=25711)

ZRR 30-09-2005 21:03:34

Problema con Float en Firebird
 
Que tal, buen dia.

Tengo un problema con un Campo tipo Float en Firebird.

Cuando inserto un valor en el campo de la forma (TDBEdit) por ejmplo 20.1 al guardar el registro en la Base de datos guarda el valor 20.1000003814697, alguien sabe a que se debe o como puedo solucionarlo? hay alguna función que en Firebird que me permita formatear el número al guardarlo o al realizar el select?

Muchas gracias
Saludos

Fernando 30-09-2005 21:18:40

Hola:

Revisa la función RoundTo

Saludos

ZRR 03-10-2005 16:35:43

Solución...
 
La funcion RoundTo, funciona bien desde Delphi, pero mi problema era que necesitaba formatearlo desde el select de la base de datos.

Encontré 2 soluciones posibles:

1. Realizar un cast al campo: select cast(campoFloat as numeric(9,2)) as result, campo 2, campo 3...

2. Cambiar el tipo del campo en la tabla a numeric(9,2).

Opte por la segunda opción ya que la primera aunque funciona, necesitaba hacer muchos cambios en los querys a la tabla.

Muchas gracias.

Saludos

dajaji 05-04-2007 11:49:08

Presicion Talvez?
 
Primera se que el tema es del año pasado pero, Tengo el mismo problema,
uso delphy7, firebird1.5 y el tipo de dato a usar es float, que tambien se redondea mal o se guarda con un monton de decimales. ej meto 20 y me guarda como 19.99999869590453

bueno yo habilite en un IBtable cada field y en el field de tipo float le cambie la propiedad presicion de 15 que era por defecto a 7.

LA cuestion es que no se si esto es lo correcto, pero ya no me redondea un simple numero. y me muestra bien todos los numeros.

Lepe 05-04-2007 12:15:47

Se sabe que los FLOATS funcionan así.

Debes usar Numeric(10,2) o decimal(10,2), siempre en Dialecto 3 para que guarde el número exacto.

Saludos

rastafarey 17-04-2007 18:43:28

Resp
 
Bueno yo tube algunos probles con los numeric debido a como hace slso calculo s y con respecto a la precicion hay que tenr mucho cuidado por que esto trbajan de uan manera un poco delicada. Por lo cual decidi usar double prescion y no he tenedo esos problemas que estas teniendo.


La franja horaria es GMT +2. Ahora son las 08:29:08.

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