0

我正在开发一个 Spring MVC 项目,并遇到了表单国际化的问题,尤其是数字格式。

我已经使用 fmt:formatNumber 根据当前选择的语言环境来格式化数字。

<fmt:formatNumber value="${object[field]}"/>

像这样,当我显示数字时,数字格式效果很好。但是表格呢?

目前,应该接收浮点值的输入字段预填充 0.0 并希望我使用“。” 作为小数点分隔符,无论选择什么语言环境。服务器拒绝包含“,”的值(...无法将字符串转换为所需的浮点类型...)。

如何使我的输入字段也使用并接受适当的数字格式?

4

1 回答 1

2

你看过了@NumberFormat吗?如果您注释输入字段绑定到的属性,这应该会导致正确的格式。就像是:

@NumberFormat(style = Style.NUMBER)
private BigDecimal something;

这种风格是“当前语言环境的通用数字格式”。我猜,当前的语言环境是从LocaleContextHolder.

您的应用程序需要是注释驱动的,另请参阅文档中的“注释驱动格式”部分。

您可能想看看这个答案DecimalFormatSymbols中建议的内容。

于 2012-07-10T10:30:49.237 回答