问题
I was reading the commons.apache.org isNumeric 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
回答1:
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.
回答2:
Looking at the code, the example is
StringUtils.isNumeric("\u0967\u0968\u0969") = true
\u0967
is १
, which is "Devanagari Digit One"
\u0967
is २
, which is "Devanagari Digit Two"
So they are digits!
来源:https://stackoverflow.com/questions/38577448/stringutils-isnumeric-returns-true-when-input-is-why