Hola gente! Buscando resolver un inconveniente encontre esta pagina de la cual a partir de ahora voy a formar parte.
Queria hacerles una consulta sobre un problemita que me esta dando LazReport a la hora de dar formato a un campo tipo float.
El tema es que le indico en 'formateo de variable' que quiero mostrar un nro con dos decimales (tambien probe con la opcion 'personalizado'). Y al mostrar el reporte, el campo aparece mal.
Ej.: En la base de datos (firebird), campo1 tiene el valor 820.00000 (despues del punto son decimales). Yo quiero que se muestre 820.00, pero en el reporte aparece 8.200.000.000.000.000,00
Si alguien sabe que anda pasando con esto le agradecere la ayuda.
Saludos y una consulta sobre LazReport
Comenzado por
marcosp
, feb 22 2012 09:07
4 respuestas en este tema
#1
Escrito 22 febrero 2012 - 09:07
#2
Escrito 22 febrero 2012 - 10:20
Bienvenido al foro, estas en tu casa.
prueba a poner esto:
en este ejemplo estoy usando zeos para conectarme con firebird y asi le doy formato dentro del .lrf
prueba y nos avisas
prueba a poner esto:
delphi
[ZQuery1."MONTO" #N##,##0.00]
en este ejemplo estoy usando zeos para conectarme con firebird y asi le doy formato dentro del .lrf
prueba y nos avisas
#3
Escrito 23 febrero 2012 - 11:14
Hola.. gracias por responder!
Segui tu sugerencia pero me tira el mismo resultado que dandole formato por medio de la opcion 'formateo de variable'. O sea, como ejemplo, al valor 5550.000000 (despues del punto son decimales) lo muestra 5.550.000.000.000.000.000,00 cuando deberia mostrar 5550.00 o 5550,00.
Supongo que debe ser alguna inconsistencia entre los separadores decimales de firebird con los de lazReport o Lazarus y por eso me muestra cualquier cosa al darle el formato. No se me ocurre otra cosa
Segui tu sugerencia pero me tira el mismo resultado que dandole formato por medio de la opcion 'formateo de variable'. O sea, como ejemplo, al valor 5550.000000 (despues del punto son decimales) lo muestra 5.550.000.000.000.000.000,00 cuando deberia mostrar 5550.00 o 5550,00.
Supongo que debe ser alguna inconsistencia entre los separadores decimales de firebird con los de lazReport o Lazarus y por eso me muestra cualquier cosa al darle el formato. No se me ocurre otra cosa
#4
Escrito 23 febrero 2012 - 11:49
De entrada, problema de Firebird no es.
Me inclino por lo último que comentas: un error al leer el símbolo de decimales con el de miles. Fíjate como está establecida la configuración regional.
Como no uso Lázarus, desconozco si posee las mismas variables globales: DecimalSeparator permite establecer el separador de miles, y también hay uno para indicar el símbolos de miles.
Al menos en Delphi, cuando uno utiliza Format, FormatFloat o alguna de las funciones Format() éstas leen la configuración establecida en éstas variables... que inicialmente, y por defecto, se establecen con los valores de la configuración regional al momento de iniciar la aplicación.
Basta con poner el símbolo adecuado y listo.
Saludos,
Me inclino por lo último que comentas: un error al leer el símbolo de decimales con el de miles. Fíjate como está establecida la configuración regional.
Como no uso Lázarus, desconozco si posee las mismas variables globales: DecimalSeparator permite establecer el separador de miles, y también hay uno para indicar el símbolos de miles.
Al menos en Delphi, cuando uno utiliza Format, FormatFloat o alguna de las funciones Format() éstas leen la configuración establecida en éstas variables... que inicialmente, y por defecto, se establecen con los valores de la configuración regional al momento de iniciar la aplicación.
Basta con poner el símbolo adecuado y listo.
Saludos,
#5
Escrito 23 febrero 2012 - 12:45
Si si, problema resuelto.. Tenia que indicarle cual era el separador de miles (thousandSeparator), que debo decir que no sabia que existiese esa variable. La variable 'DecimalSeparator' si la tenia asignada para evitar los problemas con los tipos float. Le agregue el saparador de miles y ahora funciona bien.
Muchas gracias Delphlus y luk2009 por tomarse la molestia de responder.
Muchas gracias Delphlus y luk2009 por tomarse la molestia de responder.