货币小数分隔符不起作用
Currency Decimal Separator not working
我有一个奇怪的行为,我使用 DecimalFormat 将 double 转换为货币值并会更改小数点分隔符,但它似乎在任何情况下都会忽略小数点分隔符。
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 欧元。
它适用于货币符号和分组分隔符,但小数点分隔符在任何情况下都会被忽略。
有人知道为什么吗?!谢谢
对于货币,有一个额外的字段来设置小数点分隔符:
symbols.setMonetaryDecimalSeparator('-');
货币有其自定义分隔符。使用 setMonetaryDecimalSeparator
.
我有一个奇怪的行为,我使用 DecimalFormat 将 double 转换为货币值并会更改小数点分隔符,但它似乎在任何情况下都会忽略小数点分隔符。
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 欧元。
它适用于货币符号和分组分隔符,但小数点分隔符在任何情况下都会被忽略。
有人知道为什么吗?!谢谢
对于货币,有一个额外的字段来设置小数点分隔符:
symbols.setMonetaryDecimalSeparator('-');
货币有其自定义分隔符。使用 setMonetaryDecimalSeparator
.