Spring MVC 3格式化BigDecimal

时间:2012-10-11 16:38:22

标签: java spring-mvc formatting bigdecimal

在我的应用程序中,表单中的大多数BigDecimal数字被格式化为2个十进制值。所以我在BigDecimal to String converter中拥有自己的ConversionService(覆盖区域设置以使用小数点逗号代替点)。但在特定的地方,我需要将该格式更改为例如4个十进制值。实现这一目标的最佳方法是什么?我尝试使用@NumberFormat注释,但我还需要使用小数逗号。

此外,ConversionService@NumberFormat如何在Spring MVC 3中相互干扰?具体来说,在<spring:form>标签中?感谢。

1 个答案:

答案 0 :(得分:0)

如果您的2dp值是货币值,那么您可能想尝试将它们包装在自定义“Money”类型中。然后,您可以编写一个显示为2dp的格式化程序,但将来它还会为您提供灵活性来引入货币值,并可能在输出中包含该值。例如。 £2.99或2,99€。

我首先在Martin Fowlers的企业架构模式中阅读了这种模式。 http://martinfowler.com/eaaCatalog/money.html

我知道它没有回答您的具体问题,但我认为这可能是一个有用的考虑因素,可以引导您找到正确的答案。希望它有所帮助。