2016-07-25 8 views
5

मैं commons.apache.org isNumeric विधि परिभाषा पढ़ रहा था और यह कहा गया है:स्ट्रिंगउट्स इनपुट है जब इनपुट "???" होता है, क्यों?

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

मुझे यकीन है कि क्यों "???" सांख्यिक माना जाता है नहीं कर रहा हूँ। मेरे अनुमान कर रहे हैं:

  • एक "?" एक यूनिकोड अंकों
  • माना जाता है यह regex पैटर्न के कुछ प्रकार है

isNumeric Method Definition

उत्तर

9

मैं देख कर इस सवाल का जवाब खोजने के लिए सक्षम था StringUtils पर न्यूमेरिक विधि के लिए स्रोत कोड पर। स्रोत कोड में है कि रेखा के रूप में प्रकट होता है:

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

कहाँ u0967, u0968, u0969 क्रमशः Devangari Digits एक, दो, और तीन हैं। यह एक ब्राउज़र समस्या हो सकती है जिससे वर्णों को एपीआई में सही ढंग से प्रस्तुत नहीं किया जा सकता है।

+1

और इसके लायक होने के लिए, मेरा ब्राउज़र उन अंकों के लिए अनुमानित-सही ग्लिफ प्रदर्शित करता है, बजाय प्रश्न चिह्नों में सबबिंग करने के बजाए। –

3

कोड को देखते हुए, उदाहरण है

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

\u0967 है, जो कि "देवनागरी डिजिट एक"

\u0967 है, जो कि "देवनागरी अंक दो"

तो वे अंक हैं!

संबंधित मुद्दे