CodeGym /Java-blogg /Tilfeldig /NumberFormatException i Java
John Squirrels
Nivå
San Francisco

NumberFormatException i Java

Publisert i gruppen

Hva er NumberFormatException i Java?

"TallFormatUnntaket blir kastet ved konvertering av en ikke-numerisk streng til et tall."
Enkelt sagt, hvis en streng ikke bare inneholder numeriske data og du prøver å konvertere den til et tall, vil du møte dette unntaket. Dette kan også tolkes på en annen måte. Unntaket brukes som en indikator hvis konvertering av streng til et tall ikke er mulig. Tallet kan være et heltall, flytende eller desimal i henhold til dine krav. For eksempel, hvis inndatastrengen inneholder alle bokstaver, alfanumeriske tegn eller spesialtegn og du prøver å forsøke å konvertere fra streng til heltall , vil et NumberFormatException bli kastet.

Eksempel

La oss se på et enkelt eksempel for å forstå dette.

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

Produksjon

Integer.pareseInt(2550) = 2550 NumberFormatException kastet! For inndatastreng: "255.0" NumberFormatException kastet! For inndatastreng: "Wed Aug 11 08:18:21 PKT 2021" NumberFormatException kastet! For inndatastreng: "1 2 3" NumberFormatException kastet! For inndatastreng: "Lubaina Khan"

Konklusjon

Vi håper du forstår hvorfor NumberFormatException oppstår i Java. Hvis du har forstått årsaken, kan du alltid identifisere årsaken og rette den. Hvis du fortsatt ikke er klar over dette konseptet, gjør flere feil, og du vil lære hvorfor og hvordan dette problemet er. Inntil da fortsett å vokse og fortsett å lære.
Kommentarer
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION