कोटरलिन प्रोग्राम यह जाँचने के लिए कि क्या एक स्ट्रिंग न्यूमेरिक है

इस कार्यक्रम में, आप यह जांचने के लिए विभिन्न तकनीकों को सीखेंगे कि कोई स्ट्रिंग संख्यात्मक है या नहीं, कोटलिन में है।

उदाहरण 1: जांचें कि क्या एक स्ट्रिंग संख्यात्मक है

 import java.lang.Double.parseDouble fun main(args: Array) ( val string = "12345s15" var numeric = true try ( val num = parseDouble(string) ) catch (e: NumberFormatException) ( numeric = false ) if (numeric) println("$string is a number") else println("$string is not a number") )

जब आप प्रोग्राम चलाते हैं, तो आउटपुट होगा:

 12345s15 एक संख्या नहीं है

उपरोक्त कार्यक्रम में, हमारे पास एक Stringनामित स्ट्रिंग है जिसमें जाँच की जाने वाली स्ट्रिंग है। हमारे पास एक बूलियन वैल्यू न्यूमेरिक है जो स्टोर करता है अगर अंतिम परिणाम संख्यात्मक है या नहीं।

कोशिश ब्लॉक में यदि स्ट्रिंग संख्या केवल शामिल की जांच करने के लिए, हम का उपयोग Doubleकी parseDouble()विधि एक स्ट्रिंग परिवर्तित करने के लिए Double

यदि यह एक त्रुटि (यानी NumberFormatExceptionत्रुटि) फेंकता है , तो इसका मतलब है कि स्ट्रिंग संख्या नहीं है और संख्यात्मक सेट है false। और, यह एक संख्या है।

हालाँकि, यदि आप जांचना चाहते हैं कि, कितने स्ट्रिंग्स के लिए, तो आपको इसे फ़ंक्शन में बदलना होगा। और, तर्क अपवादों को फेंकने पर आधारित है, यह बहुत महंगा हो सकता है।

इसके बजाय, हम नियमित अभिव्यक्तियों की शक्ति का उपयोग करके यह जांच सकते हैं कि स्ट्रिंग संख्यात्मक है या नहीं जैसा कि नीचे दिखाया गया है।

उदाहरण 2: जांचें कि क्या कोई स्ट्रिंग संख्यात्मक है या नियमित अभिव्यक्ति का उपयोग नहीं कर रहा है (regex)

 fun main(args: Array) ( val string = "-1234.15" var numeric = true numeric = string.matches("-?\d+(\.\d+)?".toRegex()) if (numeric) println("$string is a number") else println("$string is not a number") )

जब आप प्रोग्राम चलाते हैं, तो आउटपुट होगा:

 -1234.15 एक नंबर है

उपरोक्त कार्यक्रम में, एक ट्राइ-कैच ब्लॉक का उपयोग करने के बजाय, हम यह जांचने के लिए regex का उपयोग करते हैं कि स्ट्रिंग संख्यात्मक है या नहीं। यह स्ट्रिंग की matches()विधि का उपयोग करके किया जाता है ।

में matches()विधि,

  • -?-स्ट्रिंग में नकारात्मक संख्याओं के लिए शून्य या अधिक अनुमति देता है ।
  • \d+स्ट्रिंग की जांच में कम से कम 1 या अधिक संख्याएँ ( \d) होनी चाहिए ।
  • (\.\d+)?दिए गए पैटर्न (\.\d+)में शून्य या अधिक की अनुमति देता है
    • \.जाँचता है कि स्ट्रिंग में .(दशमलव अंक) हैं या नहीं
    • यदि हाँ, तो कम से कम एक या एक से अधिक संख्याओं का पालन करना चाहिए \d+

यहाँ बराबर जावा कोड है: एक स्ट्रिंग न्यूमेरिक है या नहीं यह जाँचने के लिए जावा प्रोग्राम।

दिलचस्प लेख...