我读commons.apache.org isNumeric
方法定义,它规定:当输入为“???”时,StringUtils isNumeric返回true,为什么?
StringUtils.isNumeric("???") = true;
我不知道为什么"???"
被认为是数字。我的猜测是:
- 一个
"?"
被认为是一个统一的数字 - 这是某种形式的正则表达式的
我读commons.apache.org isNumeric
方法定义,它规定:当输入为“???”时,StringUtils isNumeric返回true,为什么?
StringUtils.isNumeric("???") = true;
我不知道为什么"???"
被认为是数字。我的猜测是:
"?"
被认为是一个统一的数字我能够通过查找找到这个问题的答案在isNumeric方法的StringUtils源代码中。 在源代码中该行显示为:
StringUtils.isNumeric("\u0967\u0968\u0969") = true
凡u0967,u0968,u0969分别Devangari Digits一个,两个,和三个。 这可能是导致字符在API中无法正确呈现的浏览器问题。
看代码,这个例子
StringUtils.isNumeric("\u0967\u0968\u0969") = true
\u0967
是१
,这是 “梵文数字一”
\u0967
是२
,这是 “梵文数字二”
所以他们是数字!
对于它的价值,我的浏览器为这些数字显示大概正确的字形,而不是在问号中剔除。 –