PDA

Ver la Versión Completa : Hay alguna forma?


jam888
06-10-2004, 20:39:00
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...
edit1.text:=Form1.QueryArticulos.Fieldbyname('precio_cpa');
creo que la asignación debiera ser asi....
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