CodeGym /Java Blog /Willekeurig /NumberFormatException in Java
John Squirrels
Niveau 41
San Francisco

NumberFormatException in Java

Gepubliceerd in de groep Willekeurig

Wat is NumberFormatException in Java?

"De NumberFormatException wordt gegenereerd bij de conversie van een niet-numerieke string naar een getal."
Simpel gezegd, als een string niet alleen numerieke gegevens bevat en u probeert deze om te zetten in een getal, zult u deze uitzondering tegenkomen. Dit kan ook op een andere manier geïnterpreteerd worden. De uitzondering wordt gebruikt als indicator als de conversie van String naar een getal niet mogelijk is. Het nummer kan een geheel getal, float of decimaal zijn, afhankelijk van uw vereisten. Als de invoerreeks bijvoorbeeld alle letters, alfanumerieke tekens of speciale tekens bevat en u probeert een conversie van String naar Integer uit te voeren , wordt een NumberFormatException gegenereerd.

Voorbeeld

Laten we een eenvoudig voorbeeld bekijken om dit te begrijpen.

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

Uitgang

Integer.pareseInt(2550) = 2550 NumberFormatException gegenereerd! Voor invoertekenreeks: "255.0" NumberFormatException gegooid! Voor invoerreeks: "Wed Aug 11 08:18:21 PKT 2021" NumberFormatException gegooid! Voor invoerreeks: "1 2 3" NumberFormatException gegooid! Voor invoerreeks: "Lubaina Khan"

Conclusie

We hopen dat u begrijpt waarom NumberFormatException in Java ontstaat. Als u de oorzaak heeft begrepen, kunt u altijd de oorzaak achterhalen en verhelpen. Als je nog steeds niet duidelijk bent over dit concept, maak dan meer fouten en je leert het hoe en waarom van dit probleem. Tot die tijd blijf groeien en blijf leren.
Opmerkingen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION