0

ある 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をプレイ。

4

1 に答える 1