2016-08-12 56 views
-1

我用<s:text name="format.money">标签格式化一个BigDecimal值为4.74500000。Struts 2格式钱四舍五入

结果是4.74美元,但我预计为4.75美元。

为什么会出现这种情况? Struts如何处理格式化?因为当我格式化57.625090时,它显示为57.63美元,这是正确的。

+0

寻求调试帮助的问题(“为什么这个代码不工作?”)必须包含所需的行为,特定的问题或错误以及在问题本身中重现问题所需的最短代码。没有明确问题陈述的问题对其他读者无益。请参阅:如何创建最小,完整和可验证示例。 –

回答

2

根据documentation,money.format使用DecimalFormat##0.00的模式来格式化数字。也就是说,用最小的数字四舍五入,只有两位小数,并且四舍五入为even neighbor

这与您的结果一致。