0

我想将 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

0

您可以尝试此解决方案(受此答案启发):

DecimalFormat nf = (DecimalFormat) DecimalFormat.getNumberInstance(new Locale(currentUser.getLocale()));
nf.setMinimumFractionDigits(2);
nf.setMaximumFractionDigits(2);
String formattedValue = nf.format(amout);
于 2014-11-05T12:14:22.783 回答