जावा में NumberFormatException क्या है?

"NumberFormatException को एक गैर-संख्यात्मक स्ट्रिंग के किसी संख्या में रूपांतरण पर फेंक दिया जाता है।"
सीधे शब्दों में कहें, यदि एक स्ट्रिंग में केवल संख्यात्मक डेटा नहीं है और आप इसे एक संख्या में बदलने का प्रयास करते हैं, तो आप इस अपवाद का सामना करेंगे। इसे दूसरे तरीके से भी समझा जा सकता है। अपवाद का उपयोग एक संकेतक के रूप में किया जाता है यदि स्ट्रिंग को किसी संख्या में बदलना संभव नहीं है। संख्या आपकी आवश्यकताओं के अनुसार पूर्णांक, फ्लोट या दशमलव हो सकती है। उदाहरण के लिए, यदि इनपुट स्ट्रिंग में सभी अक्षर, अल्फ़ा-न्यूमेरिक वर्ण या विशेष वर्ण हैं और आप स्ट्रिंग से पूर्णांक में रूपांतरण का प्रयास करने का प्रयास करते हैं तो एक NumberFormatException को फेंक दिया जाएगा।

उदाहरण

आइए इसे समझने के लिए एक सरल उदाहरण देखें।

import java.util.Date;

public class NumberFormatExceptionTestDriver {

	public static void main(String[] args) {

		try {
			// a valid Integer number in the input String
			String inputString = "2550";
			System.out.println("Integer.pareseInt(" + inputString + ") = " + Integer.parseInt(inputString));
		} catch (NumberFormatException e) {
			// java.lang.NumberFormatException will be thrown if the  
			// input string can not be converted to a valid integer
			System.out.println("\nNumberFormatException thrown! " + e.getMessage());
		}

		try {
			// a floating number in the input String
			// use Float.parseFloat(inputString) to avoid this exception
			String inputString = "255.0"; 
			System.out.println("Integer.pareseInt(" + inputString + ") = " + Integer.parseInt(inputString));
		} catch (NumberFormatException e) {
			System.out.println("\nNumberFormatException thrown! " + e.getMessage());
		}

		try {
			Date day = new Date();
			// date containing alpha-numeric data in the input string
			String inputString = day.toString();
			System.out.println("Integer.pareseInt(" + inputString + ") = " + Integer.parseInt(inputString));
		} catch (NumberFormatException e) {
			System.out.println("\nNumberFormatException thrown! " + e.getMessage());
		}

		try {
			// numbers with spaces in the input string
			String inputString = "1 2 3";
			System.out.println("Integer.pareseInt(" + inputString + ") = " + Integer.parseInt(inputString));
		} catch (NumberFormatException e) {
			System.out.println("\nNumberFormatException thrown! " + e.getMessage());
		}

		try {
			// all letters in the input string
			String inputString = "Lubaina Khan";
			System.out.println("Integer.pareseInt(" + inputString + ") = " + Integer.parseInt(inputString));

		} catch (NumberFormatException e) {
			System.out.println("\nNumberFormatException thrown! " + e.getMessage());
		}
	}
}

उत्पादन

Integer.pareseInt(2550) = 2550 NumberFormatException फेंका गया! इनपुट स्ट्रिंग के लिए: "255.0" NumberFormatException फेंका गया! इनपुट स्ट्रिंग के लिए: "बुध अगस्त 11 08:18:21 PKT 2021" NumberFormatException फेंका गया! इनपुट स्ट्रिंग के लिए: "1 2 3" NumberFormatException फेंका गया! इनपुट स्ट्रिंग के लिए: "लुबैना खान"

निष्कर्ष

हम आशा करते हैं कि आप समझ गए होंगे कि Java में NumberFormatException क्यों उत्पन्न होती है। यदि आप मूल कारण को समझ गए हैं, तो आप हमेशा कारण की पहचान कर सकते हैं और उसे ठीक कर सकते हैं। यदि आप अभी भी इस अवधारणा के बारे में स्पष्ट नहीं हैं, तो और गलतियाँ करें और आप इस समस्या के क्यों और कैसे सीखेंगे। तब तक बढ़ते रहो और सीखते रहो।