CodeGym /בלוג Java /Random-HE /NumberFormatException ב-Java
John Squirrels
רָמָה
San Francisco

NumberFormatException ב-Java

פורסם בקבוצה

מה זה NumberFormatException ב-Java?

"חריג ה-NumberFormat נזרק בהמרה של מחרוזת לא מספרית למספר."
במילים פשוטות, אם מחרוזת אינה מכילה רק נתונים מספריים ותנסה להמיר אותו למספר, תיתקל בחריג הזה. אפשר לפרש את זה גם בדרך אחרת. החריג משמש כאינדיקטור אם ההמרה של מחרוזת למספר אינה אפשרית. המספר יכול להיות מספר שלם, צף או עשרוני לפי הדרישות שלך. לדוגמה, אם מחרוזת הקלט מכילה את כל האותיות, התווים האלפא-נומריים או התווים המיוחדים ואתה מנסה לבצע המרה ממחרוזת למספר שלם , אזי תושק 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 נזרק! עבור מחרוזת קלט: "Wed Aug 11 08:18:21 PKT 2021" NumberFormatException נזרק! עבור מחרוזת קלט: "1 2 3" NumberFormatException נזרק! למחרוזת קלט: "Lubaina Khan"

סיכום

אנו מקווים שאתה מבין מדוע NumberFormatException מתעורר ב-Java. אם הבנתם את הסיבה השורשית, תמיד תוכלו לזהות את הסיבה ולתקן אותה. אם עדיין לא ברור לך המושג הזה, תעשה עוד טעויות ותלמד את הסיבות והאיך של הבעיה הזו. עד אז תמשיך לגדול ותמשיך ללמוד.
הערות
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION