在Spring 3中格式化BigDecimal

时间:2013-06-25 08:22:38

标签: java spring spring-mvc bigdecimal

我有一个将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/>,但我得到了一个例外

In &lt;formatNumber&gt;, value attribute can not be parsed into java.lang.Number: " 0E-32"

现在我只能使用特殊的String getter为我的bean提供格式化值的解决方案。但是在表示层中是否有任何“好的”解决方案(理想情况下是对@Digits注释的尊重?)

1 个答案:

答案 0 :(得分:1)

无意中我发现以下answer解决了我的问题:

<td> <spring:eval expression="c.vatRate"/> %</td>