サンプル

public static void main(String[] args){
double value = 12345.678;
Locale defaultLocale = Locale.getDefault();
NumberFormat nf = NumberFormat.getCurrencyInstance(defaultLocale);
String formattedValue = nf.format(value);
System.out.println(formattedValue);
}
解決策
com.ibm.icu.util.Currency (ICU 2.6.1) または java.util.Currency を使用します。
  1. Currency.getInstance (java.lang.String) を呼び出します。
  2. java.text.NumberFormat.setCurrency (java.util.Locale) を呼び出します。

public static void main(String[] args) {
double value = 12345.678;
Currency currency = Currency.getInstance("EUR"); //$NON-NLS-1$
Locale defaultLocale = Locale.getDefault();
NumberFormat nf = NumberFormat.getCurrencyInstance(defaultLocale);
nf.setCurrency(currency);
String formattedValue = nf.format(value);
System.out.println(formattedValue);
}