1

我有一个定义为 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 &lt;formatNumber&gt;, value attribute can not be parsed into java.lang.Number: " 0E-32"

现在对我来说,唯一的解决方案是为我的 bean 提供特殊的 String getter,它将提供格式化的值。但是在表示层中是否有任何“好”的解决方案(最好尊重@Digits 注释?)

4

1 回答 1

1

偶然我发现以下答案解决了我的问题:

<td> <spring:eval expression="c.vatRate"/> %</td>
于 2013-08-19T13:29:02.420 回答