CodeGym /Blog Java /Ngẫu nhiên /NumberFormatException trong Java

NumberFormatException trong Java

Xuất bản trong nhóm

NumberFormatException trong Java là gì?

“Ngoại lệ NumberFormatException được đưa ra khi chuyển đổi một Chuỗi không phải là số thành một số.”
Nói một cách đơn giản, nếu một Chuỗi không chỉ chứa dữ liệu số và bạn cố gắng chuyển đổi nó thành số, bạn sẽ gặp phải ngoại lệ này. Điều này cũng có thể được giải thích theo một cách khác. Ngoại lệ được sử dụng làm chỉ báo nếu không thể chuyển đổi Chuỗi thành số. Số có thể là số nguyên, số float hoặc số thập phân theo yêu cầu của bạn. Ví dụ: nếu chuỗi đầu vào chứa tất cả các chữ cái, ký tự chữ và số hoặc ký tự đặc biệt và bạn cố thử chuyển đổi từ Chuỗi sang Số nguyên thì một NumberFormatException sẽ được đưa ra.

Ví dụ

Hãy xem một ví dụ đơn giản để hiểu điều này.

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());
		}
	}
}

đầu ra

Integer.pareseInt(2550) = 2550 Đã ném ngoại lệ NumberFormat! Đối với chuỗi đầu vào: "255.0" Đã ném ngoại lệ NumberFormat! Đối với chuỗi đầu vào: "Thứ Tư ngày 11 tháng 8 08:18:21 PKT 2021" Đã ném ngoại lệ NumberFormat! Đối với chuỗi đầu vào: "1 2 3" Đã ném ngoại lệ NumberFormat! Đối với chuỗi đầu vào: "Lubaina Khan"

Phần kết luận

Chúng tôi hy vọng bạn hiểu tại sao NumberFormatException phát sinh trong Java. Nếu bạn đã hiểu nguyên nhân gốc rễ, bạn luôn có thể xác định lý do và khắc phục nó. Nếu bạn vẫn chưa hiểu rõ về khái niệm này, hãy mắc nhiều lỗi hơn và bạn sẽ học được nguyên nhân và cách thức của vấn đề này. Cho đến lúc đó hãy tiếp tục phát triển và tiếp tục học hỏi.
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION