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()));
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.