Я не думаю, что закономерности в данных странах определены в официальных документах / стандартах. В приведенной вами ссылке правильный шаблон в Норвегии действительно 188,800,99, но когда я проверял wikipedia , он говорит, что 188 800,99 будет правильным форматом в Норвегии.
В качестве решения вы можете либо найти NumberFormat
, который вам подходит, либо создать свой собственный, просто так:
DecimalFormat numberFormat = new DecimalFormat("#,##0.00");
DecimalFormatSymbols decimalFormatSymbols = new DecimalFormatSymbols();
decimalFormatSymbols.setDecimalSeparator(',');
decimalFormatSymbols.setGroupingSeparator('.');
numberFormat.setDecimalFormatSymbols(decimalFormatSymbols);
System.out.println(numberFormat.format(1881212800.9));
Он печатает число как 1.881.212.800,90
, В шаблоне #,##0.00
хэши представляют необязательные числа, а нули - требуемые числа. В этом случае слева от запятой всегда будет хотя бы одно число, а справа - два.