CodeGym /Blogue Java /Random-PT /NumberFormatException em Java
John Squirrels
Nível 41
San Francisco

NumberFormatException em Java

Publicado no grupo Random-PT

O que é NumberFormatException em Java?

“O NumberFormatException é lançado na conversão de uma String não numérica em um número.”
Simplificando, se uma String não contiver apenas dados numéricos e você tentar convertê-los em um número, encontrará essa exceção. Isso também pode ser interpretado de outra maneira. A exceção é usada como um indicador se a conversão de String para um número não for possível. O número pode ser um número inteiro, flutuante ou decimal conforme suas necessidades. Por exemplo, se a string de entrada contiver todas as letras, caracteres alfanuméricos ou caracteres especiais e você tentar uma conversão de String para Integer , será lançada uma NumberFormatException.

Exemplo

Vejamos um exemplo simples para entender isso.

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

Saída

Integer.pareseInt(2550) = 2550 NumberFormatException lançada! Para string de entrada: "255.0" NumberFormatException lançada! Para string de entrada: "Wed Aug 11 08:18:21 PKT 2021" NumberFormatException lançada! Para string de entrada: "1 2 3" NumberFormatException lançada! Para string de entrada: "Lubaina Khan"

Conclusão

Esperamos que você entenda por que NumberFormatException surge em Java. Se você entendeu a causa raiz, sempre poderá identificar o motivo e corrigi-lo. Se você ainda não tem clareza sobre esse conceito, erre mais e aprenderá os porquês e comos desse problema. Até lá continue crescendo e continue aprendendo.
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION