nacionalização de Valores

4 respostas
CrisM

Pessoal, Boa Noite,
preciso de uma dica pois estou com o seguinte problema:
Meu BD é Mysql, uso o Ireport para gerar meus relatórios,
sendo que estes estão sendo gerados a partir de uma sql com
conexão com banco. estes relatorios são informativos de valores, sendo
que alguns deles em dólar e outros em reais. Quando fiz os testes com os relatorios local
eles estavam perfeitos, uso os campos de valores com BigDecimal e usei pattern com duas casas
decimais, tudo certo, tudo perfeito,(local) porem quando postamos os relatorios na WEB, os valores
onde eu tenho virugula passaram a ter ponto, ou seja o valor que era para 1.299,88 (reais) passou a
ser 1,299.88. Alguem já passou por isso ou sabe como resolvo este problema, já tentei várias situações
mas não posso inventar muita coisa pois este valor gera outros valores e somas.

Obrigado!

4 Respostas

dreampeppers99

Já olhou como o servidor está configurado, o Locale pode ser pego do contexto do S.O. Ou então você pode forçar via código para que o Locale seja o PT_br.

CrisM

vou verificar isso.
mas como faço via codigo o Locale com Ireport?
Em minha aplicação java já uso o locale , até para poder inserir os valores no BD, mas no Ireport não tenho a menor idéia.
obrigado!

dreampeppers99

CrisM:
vou verificar isso.
mas como faço via codigo o Locale com Ireport?
Em minha aplicação java já uso o locale , até para poder inserir os valores no BD, mas no Ireport não tenho a menor idéia.
obrigado!

Não sei se no Ireport, bem como mudar o Locale vai depender do seu tipo de aplicação se for web com jsf.

<application> <locale-config> <default-locale>en</default-locale> <supported-locale>pt</supported-locale> <supported-locale>es</supported-locale> <supported-locale>de</supported-locale> </locale-config> </application>

Ou

public String MudaLocale(){ FacesContext context=FacesContext.getCurrentInstance(); String languageCode=getLanguageCode(context); context.getViewRoot().setLocale(new Locale(languageCode)); return null; }

Agora no Ireport não sei.

CrisM

Pessoal RESOLVIDO , desculpa a demora em responder,
mas resolvi da seguinte forma:
Como trabalho com Vraptor usei a função em meu controller
com mapa de parametros:
map.put(“REPORT_LOCALE”, new Locale(“pt”, “BR”));
Obrigado a todos

Criado 5 de maio de 2011
Ultima resposta 17 de mai. de 2011
Respostas 4
Participantes 2