Hm, I did not find for any locale in the format NumberFormat.getAvailableLocales() format with two digits between the characters of the grouping (for example, for new Locale("en", "IN") ). Therefore, I think you need to use the DecimalFormat template as follows:
DecimalFormat df = new DecimalFormat("##,##,##,##,##.###"); System.out.println(df.format(123456789.905));
This is not exactly the same, since DecimalFormat may not have different grouping values, but perhaps this is acceptable to you.
source share