CodeGym /Java Blog /Toto sisi /Java 中的 NumberFormatException
John Squirrels
等級 41
San Francisco

Java 中的 NumberFormatException

在 Toto sisi 群組發布

Java 中的 NumberFormatException 是什麼?

“在將非數字字符串轉換為數字時拋出 NumberFormatException。”
簡單的說,如果一個String不是只有數字數據,你想把它轉成數字,就會遇到這個異常。這也可以用另一種方​​式來解釋。如果無法將String轉換為數字,則異常用作指示符。根據您的要求,該數字可以是整數、浮點數或小數。例如,如果輸入字符串包含所有字母、字母數字字符或特殊字符,並且您嘗試嘗試從String 轉換為 Integer,則會拋出 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