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)
-   -   Hay alguna forma? (https://www.clubdelphi.com/foros/showthread.php?t=14994)

jam888 06-10-2004 20:39:00

Hay alguna forma?
 
Disculpen si pregunto una soncera, pero tengo el siguiente inconveniente, estoy trabajando con delphi 7 y tengo un formulario que graba datos en la tabla articulos(en una dase de datos de interbase), pero ocurre que al grabar el precio(que es de tipo float)en el cuadro de texto yo escribo por EJ:3.21 y en la tabla se graba como 3.2999998878.
1º Se puede configurar interbase para que me grabe dos decimales y si se puede como hago.
2º Si no se puede como hago para que al mostrar los datos en un cuadro de texto(edit1)no me muetre tanta cantidad de decimales por que es poco estetico.
La asignacion que yo hago es la siguiente (para mostrar los datos):
Al buscar los datos de determinado articulo obtengo los datos de una consulta.

edit1.text:=Form1.QueryArticulos.Fieldbyname('precio_cpa');

vic_ia 06-10-2004 21:09:11

Hola...
Cita:

Empezado por jam888
edit1.text:=Form1.QueryArticulos.Fieldbyname('precio_cpa');

creo que la asignación debiera ser asi....
Código Delphi [-]
edit1.text:=Form1.QueryArticulos.Fieldbyname('precio_cpa').AsString;
saludos....

AdrianD 06-10-2004 21:34:45

Cuando trabajas con campos float ocurre eso al grabar los datos.
Dos soluciones:
1) Con los componentes que accedes a la base de datos (Querys, Tablas, etc) debes poner a los campos como Currency y/o formatearlos en el DisplayFormat como $ 0.00
2) Cambiar la definición del campo a Numeric(15,2) por ejemplo


La franja horaria es GMT +2. Ahora son las 14:51:19.

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