Print 0.0 when null in Jasper Reports
Al crear reportes con Jasper Reports un problema muy frecuente era poner el valor 0.0 para campos float, despuĆ©s de buscar y probar las soluciones ofrecidas en foros, en la documentación de Jasper Reports, nunca encontrĆ© una solución real. Pensando y probando con las caracterĆsticas que ofrece iReport encontrĆ© una solución muy sencilla, los pasos son muy simples y los describo a continuación:
1. Primero debemos dejar los campos Double o Float de tipo String, no cambiarlo al tipo de dato correcto.
2. Añadimos el campo al reporte y modificamos el campo Text Field Expression, para convertir el campo a Double de forma manual y en caso de que sea null, retornar null sin ningún error.
Modificamos el campo Expression Class para retornar el tipo de dato correcto:
Nota: La conversión a Double te permitirÔ usar la propiedad Pattern y dar formato al campo Double (Currency, # Decimals, etc.)
3. Al campo anterior activar el Campo Blank when null, para que no ponga nigĆŗn texto null en nuestro PDF.
4. AƱadir al reporte un elemento Static Text Field y poner el valor que deseamos que ponga cuando el campo sea 0.0 o null, en mi caso quiero que ponga $ 0.0
5. Para el Texto anterior activaremos el campo Print When Expression, añadiendo la expresión:
Esto harĆ” que cuando el campo sea nulo escriba nuestro Texto y en caso contrario el valor correcto del Campo.
6. Lo Ćŗnico que haremos es encimar los 2 campos, uno encima del otro, asĆ el Reporteador pondra un valor u otro cuando tengamos un valor null.
Espero que esta información los ayude tanto como a mi.
1. Primero debemos dejar los campos Double o Float de tipo String, no cambiarlo al tipo de dato correcto.
( $F{Field-field0}.isEmpty() ? null : Double.parseDouble($F{Field-field0}) )
java.lang.Double
Nota: La conversión a Double te permitirÔ usar la propiedad Pattern y dar formato al campo Double (Currency, # Decimals, etc.)
3. Al campo anterior activar el Campo Blank when null, para que no ponga nigĆŗn texto null en nuestro PDF.
4. AƱadir al reporte un elemento Static Text Field y poner el valor que deseamos que ponga cuando el campo sea 0.0 o null, en mi caso quiero que ponga $ 0.0
$F{Field-field0}.isEmpty()
6. Lo Ćŗnico que haremos es encimar los 2 campos, uno encima del otro, asĆ el Reporteador pondra un valor u otro cuando tengamos un valor null.
















