Cambiar coma por punto en Jasper iReport

Hay un problema de que en los reports con iReport y Jasper los importes salen en formato americano en vez del español, cambiados los puntos y comas en decimales y millares.

Esto pasa porque al no indicarle al Jasper nada al Jasper, toma la configuración regional del sistema "default locale".

Hay varias opciones según las necesidades donde se tenga que aplicar esta configuración.

Índice
  1. Cambiar configuración regional ireport
  2. Cambiar configuración regional Jaspersoft Studio
  3. Definir configuración regional en código
  4. Cambiar la configuración regional al cargar la maquina virtual de java JVM

Cambiar configuración regional ireport

En el diseñador IReport hay que ir a las opciones del menú Herramientas -> Opciones -> IReport, y en la pestaña de "Compilation and Execution" seleccionar el valor de "Report Locale" al que se necesite configurar.

A partir de ahí, se compila el informe y ya toma el cambio.

Esta imagen corresponde al iReport Designer versión 5.6.0

ireport default locale cambiar puntos

Cambiar configuración regional Jaspersoft Studio

Con el report abierto en Jaspersoft Studio, hacer clic con el botón derecho encima del report y seleccionar propiedades.

En la pestaña "Report Execution" cambiar la zona locale por defecto a la deseada.

jaspersoft studio locale default

Definir configuración regional en código

Para definir la configuración regional en el momento de ejecución se puede definir el parámetro REPORT_LOCALE y pasarlo como parámetro al report, a través del fillReport()

import java.util.Map;
import java.util.Locale;

InputStream report = getReportTemplate(); 
JRDataSource dataSource = getDataSource();  

Map params = getParameters(); 
Locale locale = new Locale( "es", "ES" ); 
params.put( JRParameter.REPORT_LOCALE, locale );  

JasperFillManager.fillReport( report, params, dataSource );

Cambiar la configuración regional al cargar la maquina virtual de java JVM

Al iniciar la máquina virtual Java se le podrían pasar los parámetros

-Dfile.encoding=Cp1252 -Duser.language=es -Duser.country=ES

Otra opción, es especificarlo en la variable de entorno de Windows JAVA_TOOL_OPTIONS que la JVM lo lee al arrancar.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir