我有一个奇怪的行为,我使用十名将双倍的货币值转换为货币值并会更改小数分离器,但是在任何情况下,它似乎都会忽略小数分离器。
class Currency {
public static void main (String... args) {
DecimalFormat nf =(DecimalFormat) DecimalFormat.getCurrencyInstance(Locale.getDefault());
nf.setGroupingUsed(true);
DecimalFormatSymbols symbols = nf.getDecimalFormatSymbols();
symbols.setGroupingSeparator(' ');
symbols.setCurrencySymbol("EUR");
symbols.setDecimalSeparator('-');
nf.setDecimalFormatSymbols(symbols);
System.out.println(nf.format(13000.31));
}
}
因此,我希望结果应该是:如果我在德国地区,如果我在美国地区,则应该是13 000-31欧元,应该是13 000-31欧元。但是我看到的是13 000,31欧元或13 000.31。
它可以与货币符号和分组分离器配合使用,但是在任何情况下,小数分离器都会忽略。
有人知道为什么吗?谢谢
货币具有其自定义分离器。使用setMonetaryDecimalSeparator
。
对于货币,有一个额外的字段来设置小数分离器:
symbols.setMonetaryDecimalSeparator('-');