CodeGym /Java-Blog /Random-DE /NumberFormatException in Java
Autor
Alex Vypirailenko
Java Developer at Toshiba Global Commerce Solutions

NumberFormatException in Java

Veröffentlicht in der Gruppe Random-DE

Was ist NumberFormatException in Java?

„Die NumberFormatException wird bei der Konvertierung eines nicht numerischen Strings in eine Zahl ausgelöst.“
Einfach ausgedrückt: Wenn ein String nicht nur numerische Daten enthält und Sie versuchen, ihn in eine Zahl umzuwandeln, tritt diese Ausnahme auf. Dies lässt sich auch anders interpretieren. Die Ausnahme dient als Indikator, wenn die Konvertierung von String in eine Zahl nicht möglich ist. Die Zahl kann je nach Ihren Anforderungen eine Ganzzahl, eine Gleitkommazahl oder eine Dezimalzahl sein. Wenn die Eingabezeichenfolge beispielsweise nur Buchstaben, alphanumerische Zeichen oder Sonderzeichen enthält und Sie versuchen, eine Konvertierung von Zeichenfolge in Ganzzahl durchzuführen , wird eine NumberFormatException ausgelöst.

Beispiel

Schauen wir uns ein einfaches Beispiel an, um dies zu verstehen.

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

Ausgang

Integer.pareseInt(2550) = 2550 NumberFormatException ausgelöst! Für Eingabezeichenfolge: „255.0“ NumberFormatException ausgelöst! Für Eingabezeichenfolge: „Wed Aug 11 08:18:21 PKT 2021“ NumberFormatException ausgelöst! Für Eingabezeichenfolge: „1 2 3“ NumberFormatException ausgelöst! Für Eingabezeichenfolge: „Lubaina Khan“

Abschluss

Wir hoffen, dass Sie verstehen, warum NumberFormatException in Java auftritt. Wenn Sie die Grundursache verstanden haben, können Sie die Ursache jederzeit identifizieren und beheben. Wenn Ihnen dieses Konzept immer noch nicht klar ist, machen Sie weitere Fehler und Sie erfahren, warum und wie dieses Problem entsteht. Bis dahin wachsen Sie weiter und lernen Sie weiter.
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION