Вы можете использовать немецкий или итальянский языковой стандарт следующим образом:
float myNum = 1234.56f;
String formatted = String.format(Locale.GERMANY, "%,8.2f", myNum);
Аналогично, если вы используете пользовательский десятичный формат, вам необходимо переключиться на соответствующий языковой стандарт :
NumberFormat nf = NumberFormat.getNumberInstance(Locale.ITALY);
DecimalFormat df = (DecimalFormat)nf;
df.applyPattern("###,###.##");
String output = df.format(myNum);
System.out.println(output);
В шаблоне формата нельзя изменить разделитель группы ,
и десятичный разделитель .
.