CodeGym /Java blogg /SlumpmÀssig /NumberFormatException i Java
John Squirrels
NivÄ
San Francisco

NumberFormatException i Java

Publicerad i gruppen

Vad Àr NumberFormatException i Java?

"NummerFormatUndantaget kastas vid omvandlingen av en icke-numerisk strÀng till ett tal."
Enkelt uttryckt, om en strÀng inte bara innehÄller numeriska data och du försöker konvertera den till ett tal, kommer du att stöta pÄ detta undantag. Detta kan ocksÄ tolkas pÄ annat sÀtt. Undantaget anvÀnds som en indikator om konvertering av String till ett tal inte Àr möjlig. Numret kan vara ett heltal, flytande eller decimal enligt dina krav. Till exempel, om inmatningsstrÀngen innehÄller alla bokstÀver, alfanumeriska tecken eller specialtecken och du försöker att konvertera frÄn strÀng till heltal, kommer ett NumberFormatException att visas.

Exempel

LÄt oss titta pÄ ett enkelt exempel för att förstÄ detta.

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

Produktion

Integer.pareseInt(2550) = 2550 NumberFormatException kastat! För inmatningsstrÀng: "255.0" NumberFormatException kastat! För inmatningsstrÀng: "Wed Aug 11 08:18:21 PKT 2021" NumberFormatException kastat! För inmatningsstrÀng: "1 2 3" NumberFormatException kastat! För inmatningsstrÀng: "Lubaina Khan"

Slutsats

Vi hoppas att du förstÄr varför NumberFormatException uppstÄr i Java. Om du har förstÄtt grundorsaken kan du alltid identifiera orsaken och ÄtgÀrda den. Om du fortfarande inte Àr tydlig med det hÀr konceptet, gör fler misstag och du kommer att lÀra dig varför och hur detta problem Àr. Tills dess fortsÀtt vÀxa och fortsÀtt lÀra dig.
Kommentarer
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION