![]() |
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. |
En el Displayformat y en el Editformat del campo tienes que poner
##0.00000 el formato que tu quieras. Salu2. |
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.
|
Cual version de Delphi y base de datos estas utilizando?
|
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. |
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 |
¿ Que utilizas para el informe ?
|
Ese es el problema, que no utilizo ningun informe. Me salen asi en el dbgrid y en los edits.
|
Cual el tipo de la coluna en MYSQL?
|
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"
|
¿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? |
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. |
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 18:24:34. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi