Float.parseFloat vs FloatValidator.validate

时间:2013-07-12 08:11:02

标签: java validation localization locale

我有一个基于Java + Spring MVC的多语言Web应用程序。很多用户在他们的计算机上都有自己的区域设置。当他们尝试保存一些浮点值时 - 由于浮点数的差异(其中一些有.,其他一些有,),其中一些会收到错误。

首先,我尝试使用org.apache.commons.validator.routines.FloatValidator检查值是否为浮点数。然后我使用Float.parseFloat将验证值转换为float。但问题是FloatValidator.validate 17,11值不会失败,而Float.parseFloat在同一个区域设置上失败。

所以我认为也许最好使用FloatValidator.validate方法作为转换器?

1 个答案:

答案 0 :(得分:0)

我建议您将号码转换为Convert input of BigDecimal locale dependent?"。 通过使用NumberFormat,您可以指定要转换数字的规则的区域设置。 您还可以使用用户区域设置来转换数字。