CodeGym /Java блог /Случаен /NumberFormatException в Java
John Squirrels
Ниво
San Francisco

NumberFormatException в Java

Публикувано в групата

Какво е NumberFormatException в Java?

„Изключението NumberFormatException се хвърля при преобразуването на нечислов низ в число.“
Просто казано, ако низът не съдържа само числови данни и се опитате да го преобразувате в число, ще срещнете това изключение. Това може да се тълкува и по друг начин. Изключението се използва като индикатор, ако преобразуването на String в число не е възможно. Числото може да бъде цяло число, плаваща or десетична според вашите изисквания. Например, ако въведеният низ съдържа всички букви, буквено-цифрови знаци or специални знаци и се опитате да опитате преобразуване от String в Integer , тогава ще бъде хвърлено NumberFormatException.

Пример

Нека да разгледаме един прост пример, за да разберем това.

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

Изход

Integer.pareseInt(2550) = 2550 Броено изключение за NumberFormatException! За входен низ: "255.0" Изхвърлено изключение NumberFormatException! За въведен низ: „сряда, 11 август, 08:18:21 PKT 2021 г.“ Броено изключение за NumberFormatException! За входен низ: "1 2 3" Изхвърлено изключение NumberFormatException! За входен низ: "Lubaina Khan"

Заключение

Надяваме се, че разбирате защо NumberFormatException възниква в Java. Ако сте разбрали първопричината, винаги можете да идентифицирате причината и да я отстраните. Ако все още не сте наясно с тази концепция, правете повече грешки и ще научите защо и How възниква този проблем. Дотогава продължавайте да растете и да се учите.
Коментари
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION