Существует идиома, чувствительная к локали, которая работает хорошо:
import java.text.NumberFormat;
// Get a currency formatter for the current locale.
NumberFormat fmt = NumberFormat.getCurrencyInstance();
System.out.println(fmt.format(120.00));
Если ваша текущая локаль находится в США, println
напечатает $ 120,00
Другой пример:
import java.text.NumberFormat;
import java.util.Locale;
Locale locale = new Locale("en", "UK");
NumberFormat fmt = NumberFormat.getCurrencyInstance(locale);
System.out.println(fmt.format(120.00));
Будет напечатано: £ 120,00