货币十进制分离器不起作用



我有一个奇怪的行为,我使用十名将双倍的货币值转换为货币值并会更改小数分离器,但是在任何情况下,它似乎都会忽略小数分离器。

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('-');

相关内容

  • 没有找到相关文章

最新更新