ある Locale で BigDecimal を通貨としてフォーマットしたいが、別の通貨記号を使用したい。この特定のケースでは、スウェーデンのユーザーですが、金額はユーロです。
これよりも良い方法を教えていただければ幸いです。
public String getFormattedAmount()
{
Locale.setDefault(new Locale(currentUser.getLocale()));
NumberFormat nf = NumberFormat.getCurrencyInstance();
DecimalFormatSymbols decimalFormatSymbols = ((DecimalFormat) nf).getDecimalFormatSymbols();
decimalFormatSymbols.setCurrencySymbol("");
((DecimalFormat) nf).setDecimalFormatSymbols(decimalFormatSymbols);
return nf.format(amount).trim();
}
2.2をプレイ。