FloatLocaleConverter cannot parse 0
-----------------------------------
Key: BEANUTILS-351
URL: https://issues.apache.org/jira/browse/BEANUTILS-351
Project: Commons BeanUtils
Issue Type: Bug
Components: Locale BeanUtils / Converters
Affects Versions: 1.8.0
Reporter: Lucian Chirita
FloatLocaleConverter fails to parse the "0" string, complaining that the value
is not of type Float.
Doing new LocaleConvertUtilsBean().convert("0", Float.class, Locale.US, null)
results in the following exception:
Exception in thread "main" org.apache.commons.beanutils.ConversionException:
Supplied number is not of type Float: 0
at
org.apache.commons.beanutils.locale.converters.FloatLocaleConverter.parse(FloatLocaleConverter.java:222)
at
org.apache.commons.beanutils.locale.BaseLocaleConverter.convert(BaseLocaleConverter.java:232)
at
org.apache.commons.beanutils.locale.LocaleConvertUtilsBean.convert(LocaleConvertUtilsBean.java:285)
at Code.main(Code.java:65)
Looking at the source of FloatLocaleConverter, line 221 which originally reads
if (posDouble < Float.MIN_VALUE || posDouble > Float.MAX_VALUE) {
should be changed to
if ((posDouble > 0 && posDouble < Float.MIN_VALUE) || posDouble >
Float.MAX_VALUE) {
in order to fix the bug.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.