Testei seu codigo e retornou corretamente.
Estou usando Java 1.5.0_09.
Você esta recuperando o valor double do BigDecimal?
BigDecimal a = new BigDecimal("9999999999999999.99");
DecimalFormat format = new DecimalFormat("#,###,###,###,###,###.##");
System.out.println(format.format(a.doubleValue()));
Se for isso ele realmente arredonda…
Bom dia!
Por favor, mantenham um único tópico sobre esse assunto. Não é muito elegante criar mais de uma vez o mesmo tópico. Segue o outro:
http://guj.com.br/posts/list/47507.java
Até!
Estou trabalhando com Java + Cobol e recebo o valor 9.999.999.999.999.999,99 e crio um BigDecimal porém este valor está sendo arredondado para 10.000.000.000.000.000,00.
Alguem teria uma solução para este problema?
Estou utilizando o DecimalFormat com o pattern #.###.###.###.###.###,00 e não funciona.
Exemplo de código:
BigDecimal a = new BigDecimal("9999999999999999.99");
DecimalFormat format = new DecimalFormat("#,###,###,###,###,###.##");
System.out.println(format.format(a));
Vlws. e Aguardo retorno.
Valeu aí pessoal… parece que o problema é limitação na versão que eu estou utilizando (Java 1.3) e não posso mudar a versão