我讀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
是२
,這是 「梵文數字二」
所以他們是數字!
對於它的價值,我的瀏覽器爲這些數字顯示大概正確的字形,而不是在問號中剔除。 –