Boa Tarde Pessoal,
Estou tentando entender um problema que tive dias atrás…
no meu web.xml está configurado da seguinte forma:
<context-param>
<param-name>javax.servlet.jsp.jstl.fmt.locale</param-name>
<param-value>pt_BR</param-value>
</context-param>
De qualquer maneira, quando utilizo isto:
DecimalFormat df = new DecimalFormat("###,###,##0.00");
String result = df.format(5615250.26);
No meu computador que é configurado p/ região pt_BR, formata conforme esperado…5.615.250,26
Já no servidor que acredito eu estar en_US, fica 5,615,250.26, mesmo o locale configurado no web.xml
Para que essa formatação pudesse dar certo tive que fazer da seguinte forma:
DecimalFormatSymbols dfs = new DecimalFormatSymbols(new Locale("pt","BR"));
dfs.setDecimalSeparator(',');
dfs.setGroupingSeparator('.');
DecimalFormat df = new DecimalFormat("###,###,##0.00", dfs);
String result = df.format(5615250.26);
Tentei também adicionar ao catalina.sh na variavel JAVA_OPT as propriedades -Duser.region e -Duser.locale, mas sem sucesso.
Queria entender porque neste caso … o web.xml não foi suficiente p/ que meu projeto entendesse que deveria trabalhar com o nosso padrão de formatação.
Abraços.