Andrei Anischevici created LANG-1729:
----------------------------------------

             Summary: NumberUtils.isParsable() returns true for Fullwidth 
Unicode digits
                 Key: LANG-1729
                 URL: https://issues.apache.org/jira/browse/LANG-1729
             Project: Commons Lang
          Issue Type: Bug
          Components: lang.math.*
    Affects Versions: 3.14.0
            Reporter: Andrei Anischevici


*NumberUtils.isParsable()* returns *true* for Fullwidth Unicode digits (U+FF10 
to U+FF19, see 
[https://en.wikipedia.org/wiki/Halfwidth_and_Fullwidth_Forms_(Unicode_block)]), 
even though these cannot be parsed by *Double.parseDouble()* and 
{*}Float.parseFloat(){*}, asĀ {*}NumberFormatException{*}s are thrown when 
trying to parse these.

I've also opened a JDK bug, see 
[https://bugs.java.com/bugdatabase/view_bug?bug_id=JDK-8326627] and 
[https://bugs.openjdk.org/projects/JDK/issues/JDK-8326627]

Since the underlying issue is that *Character.isDigit()* returns *true* for 
fullwidth digits and until this is fixed in the JDK, it would be great to fix 
this in *NumberUtils.isParsable()* so that it would return *false* for 
Fullwidth Unicode digits.

Gist reproducing the issue: 
[https://gist.github.com/XDex/2e300189a07e8224524100f26b5f6b46]



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to