Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Ceros desaparecidos en decimales. (https://www.clubdelphi.com/foros/showthread.php?t=56848)

Edgtho 29-05-2008 08:46:36

Ceros desaparecidos en decimales.
 
Buenas,

Pues esto estoy seguro que tiene que ser alguna tonteria, algun parametro que se me escapa. El caso es que en los decimales me ha desaparecido el primero cero.

Lo norma seria salir asi:

0.43486
-0.78365

Pero me sale asi:

.43486
-.78365


¿Alguien sabe que parametro hay que quitar para que no pase esto?

Gracias y un saludo.

AntonioMM 29-05-2008 09:23:54

En el Displayformat y en el Editformat del campo tienes que poner
##0.00000
el formato que tu quieras.

Salu2.

Edgtho 29-05-2008 10:32:07

No creo, eso no lo toco y en los clientdatasets no dejo el campo como persistente ya que utilizo el mismo para varias tablas y/o consultas. Estoy seguro que antes que el format tiene que ser algun parametro dentro del client, del provider o del propio sqlconnection.

Andreano 30-05-2008 08:33:29

Cual version de Delphi y base de datos estas utilizando?

Edgtho 30-05-2008 09:24:10

Es verdad, jeje culpa mia tenia que haberlo dicho. Bueno he estado haciendo pruebas y sospecho que es el driver de mysql.

La aplicacion la teniamos en Delphi7 y utilizabamos el driver de CoreLab y funcionaba sin problemas. Ahora estamos con la migracion a Delphi 2007 y utilizamos el driver original que viene.


Es con el Delphi 2007 en donde surge el problema. La base de datos es mysql5 por si sirve de algo.

AntonioMM 30-05-2008 11:48:33

Yo utilizo los campos persistentes.
si no los tienes persistentes, tendrás que darle formato con
StrToFloatF(dato, ffnumber, 5, 4)
mira a ver

verás es cambio.

Salu2

AntonioMM 30-05-2008 11:54:24

¿ Que utilizas para el informe ?

Edgtho 02-06-2008 07:33:57

Ese es el problema, que no utilizo ningun informe. Me salen asi en el dbgrid y en los edits.

Andreano 02-06-2008 07:45:34

Cual el tipo de la coluna en MYSQL?

Edgtho 02-06-2008 09:11:24

El campo en mysql5 es "decimal" con 6 digitos para decimales. Supongo que cuando se genere en el formulario aparecera como FMTBcd. He comprobado que con los "float" no pasa, solo con los de tipo "decimal"

AntonioMM 03-06-2008 11:40:08

¿Dices que en el grid no tienes los campos?

Entonces te saldrán como quieran, sin formatos ni na.

¿Porque no quieres tener los campos en el Grid?

Edgtho 03-06-2008 18:14:14

Estoy seguro que es cosa del driver de mysql que viene con Delphi2007. Tengo el mismo programa en Delphi7 y no le pasa pero en Delphi2007 si.

No lo quiero poner porque el mismo grid sirve para distintas tablas, por eso no puedo poner campos persistentes. La cuestion es que he puesto campos persistentes en una prueba y por mucho que le especificase el formato el cero a la izquierda lo seguia eliminando a no ser que forzase en el formato mas de un cero:

#0.#### --> .345
este formato no funciona

00.#### --> 00.345
este si funciona, pero es una chapuza.


En fin gracias y continuare buscando a ver si encuentro que puede estar pasando.

Edgtho 04-06-2008 10:00:37

Actualizo datos. Ninguna de las pruebas que he realizado me ha funcionado. Pero solo falla con Delphi2007 independientemente de la version de Mysql que se este usando, he probado con varios equipos y lo mismo.

Pero he encontrado una cosa curiosa, en la configuracion regional de Windows (utilizo WXPPro SP3, aunque mantengo un equipo con SP2 y pasa igual) si esta la opcion de mostrar/ocultar los ceros a la izquierda

Se puede ver una captura que he encontrado en google aqui:
http://www.mflor.mx/materias/temas/w311w95/Image583.gif

Ahi si tiene puesto lo de ocultarlo pero yo no. ¿Es posible que se le este yendo la pinza al Windows? He buscado entre TFormatSettings pero no he visto ninguna opcion para configurar ese parametro. ¿Y por que demonios afecta a Delphi2007 y no lo hace a Delphi7?


La franja horaria es GMT +2. Ahora son las 07:21:41.

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