我正在开发一个Spring MVC项目,并遇到了表单国际化的问题,尤其是数字格式。
我已经使用fmt:formatNumber根据当前选择的区域设置格式化数字。
<fmt:formatNumber value="${object[field]}"/>
像这样,当我显示数字时,数字格式化效果很好。但表格怎么样?
目前,应该接收浮点值的输入字段预先填充0.0并期望我使用“。”作为小数分隔符,无论选择何种语言环境。包含“,”的值被服务器拒绝(...无法将String转换为所需类型的float ...)。
如何使用输入字段并接受相应的数字格式?
答案 0 :(得分:2)
你看过@NumberFormat
了吗?如果注释输入字段绑定的属性,则应该导致正确的格式化。类似的东西:
@NumberFormat(style = Style.NUMBER)
private BigDecimal something;
此样式为"general-purpose number format for the current locale"。我想,当前的语言环境是从LocaleContextHolder
开始的。{/ p>
您的应用需要annotation-driven,另请参阅文档中的"Annotation-driven Formatting"部分。
您可能需要按照DecimalFormatSymbols
中的建议查看this answer。