Monetary.of(新BigDecimal(“100.00”),“EUR”)打印“EUR 1E + 2”

时间:2016-03-07 21:51:06

标签: java-money jsr354

所以这就是问题:为什么:

Monetary.of(new BigDecimal("100.00"), "EUR") 

打印“EUR 1E + 2”,但任何其他小数!= .00将打印正确:

Monetary.of(new BigDecimal("100.01"), "EUR") 

“100.01欧元”???

1 个答案:

答案 0 :(得分:1)

行,

看起来MonetaryAmount调用toString()会调用engineeringString的{​​{1}}。打印BigDecimal的正确方法是格式化它:

MonetaryAmount