我有一个基于Java + Spring MVC的多语言Web应用程序。很多用户在他们的计算机上都有自己的区域设置。当他们尝试保存一些浮点值时 - 由于浮点数的差异(其中一些有.
,其他一些有,
),其中一些会收到错误。
首先,我尝试使用org.apache.commons.validator.routines.FloatValidator
检查值是否为浮点数。然后我使用Float.parseFloat
将验证值转换为float。但问题是FloatValidator.validate
17,11
值不会失败,而Float.parseFloat
在同一个区域设置上失败。
所以我认为也许最好使用FloatValidator.validate
方法作为转换器?
答案 0 :(得分:0)
我建议您将号码转换为Convert input of BigDecimal locale dependent?"。
通过使用NumberFormat
,您可以指定要转换数字的规则的区域设置。
您还可以使用用户区域设置来转换数字。