Ir al contenido


Foto

Saludos y una consulta sobre LazReport


  • Por favor identifícate para responder
4 respuestas en este tema

#1 marcosp

marcosp

    Member

  • Miembros
  • PipPip
  • 26 mensajes

Escrito 22 febrero 2012 - 09:07

Hola gente! Buscando resolver un inconveniente encontre esta pagina de la cual a partir de ahora voy a formar parte. (y)

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.
  • 0

#2 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.040 mensajes
  • LocationSanto Domingo

Escrito 22 febrero 2012 - 10:20

Bienvenido al foro, estas en tu casa.

prueba a poner esto:



delphi
  1. [ZQuery1."MONTO" #N##,##0.00]
  2.  



en este ejemplo estoy usando zeos para conectarme con firebird y asi le doy formato dentro del    .lrf

prueba y nos avisas

  • 0

#3 marcosp

marcosp

    Member

  • Miembros
  • PipPip
  • 26 mensajes

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

  • 0

#4 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

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,
  • 0

#5 marcosp

marcosp

    Member

  • Miembros
  • PipPip
  • 26 mensajes

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. (y) (y)
  • 0




IP.Board spam blocked by CleanTalk.