我有一个 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 %
或0E-32 %
.
我也尝试过使用<fmt:formatNumber/>
但我有一个异常(exception)
In <formatNumber>, value attribute can not be parsed into java.lang.Number: " 0E-32"
现在,这是我唯一的解决方案,为我的 bean 提供特殊的 String getter,它将提供格式化值。但是在表示层中是否有任何“好的”解决方案(理想情况下尊重@Digits注释?)
最佳答案
无意中我发现了以下answer这解决了我的问题:
<td> <spring:eval expression="c.vatRate"/> %</td>
关于java - Spring 3 中 BigDecimal 的格式化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17292476/