我有一个定义为 BigDecimal 字段的 bean
@Digits(integer=3, fraction=2)
@NumberFormat(style=Style.NUMBER)
private BigDecimal vatRate = new BigDecimal(0.0f);
格式化在表单内部效果很好(我使用<mvc:annotation-driven />
),但是当尝试用值填充表格时
<td> ${c.vatRate} %</td>
我得到的价值为12.30000000000000000000000000000000 %
or 0E-32 %
。
我也尝试过使用<fmt:formatNumber/>
,但我遇到了一个例外
In <formatNumber>, value attribute can not be parsed into java.lang.Number: " 0E-32"
现在对我来说,唯一的解决方案是为我的 bean 提供特殊的 String getter,它将提供格式化的值。但是在表示层中是否有任何“好”的解决方案(最好尊重@Digits 注释?)