Formatting a number in the proper way is very important for the final user. And if you are in Locale different from the US one, then you can encounter some users that complain against it.
For example I’m Italian and we use as decimal separator a comma (,) and as thousands separator a dot (.). The opposite of the US. However the DecimalFormat accept only dots and commas in the US way. You can use the DecimalFormatSymbols in order to “translate” the format.
DecimalFormat df = new DecimalFormat("#,##0.00"); df.setDecimalFormatSymbos(new DecimalFormatSymbols(Locale.ITALY)); System.out.println(df.format(new BigDecimal(123456,78))); //will output 123.456,78