dspano dspano - 6 days ago 5
Java Question

StringUtils isNumeric returns true when input is "???", why?

I was reading the commons.apache.org

method definition and it states:

StringUtils.isNumeric("???") = true;


I am not sure why
"???"
is considered to be numeric. My guesses are:


  • A
    "?"
    is considered a unicode digit

  • It is some kind of regex pattern



isNumeric Method Definition

Answer

I was able to find the answer to this question by looking at the StringUtils source code for the isNumeric method. In the source code that line appears as:

StringUtils.isNumeric("\u0967\u0968\u0969")  = true

Where u0967, u0968, u0969 are Devangari Digits one, two, and three respectively. This may be a browser issue causing the characters to not be rendered correctly in the API.