CodeGym /Blog Java /Aleatoriu /NumberFormatException în Java
John Squirrels
Nivel
San Francisco

NumberFormatException în Java

Publicat în grup

Ce este NumberFormatException în Java?

„Excepția NumberFormatException este aruncată la conversia unui șir non-numeric într-un număr.”
Mai simplu spus, dacă un șir nu conține doar date numerice și încerci să-l transformi într-un număr, vei întâlni această excepție. Acest lucru poate fi interpretat și în alt mod. Excepția este utilizată ca indicator dacă conversia String într-un număr nu este posibilă. Numărul poate fi un întreg, flotant sau zecimal, conform cerințelor dvs. De exemplu, dacă șirul de intrare conține toate literele, caracterele alfanumerice sau caracterele speciale și încercați să încercați o conversie din String în Integer , atunci va fi lansată o excepție NumberFormatException.

Exemplu

Să ne uităm la un exemplu simplu pentru a înțelege acest lucru.

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

Ieșire

Integer.pareseInt(2550) = 2550 NumberFormatException a fost aruncată! Pentru șirul de intrare: „255.0” NumberFormatException a fost aruncată! Pentru șirul de intrare: „Miercuri, 11 august 08:18:21 PKT 2021” NumberFormatException a fost aruncată! Pentru șirul de intrare: „1 2 3” NumberFormatException a fost aruncată! Pentru șirul de intrare: „Lubaina Khan”

Concluzie

Sperăm că înțelegeți de ce apare NumberFormatException în Java. Dacă ați înțeles cauza principală, puteți oricând să identificați motivul și să o remediați. Dacă încă nu sunteți clar despre acest concept, faceți mai multe greșeli și veți afla de ce și cum este această problemă. Până atunci continuă să crești și să înveți.
Comentarii
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION