example java string int numberformatexception

string to integer java example



¿Cómo puedo evitar java.lang.NumberFormatException: para cadena de entrada: "N/A"? (5)

"N / A" es una cadena y no se puede convertir a un número. Captura la excepción y manejarlo. Por ejemplo:

String text = "N/A"; int intVal = 0; try { intVal = Integer.parseInt(text); } catch (NumberFormatException e) { //Log it if needed intVal = //default fallback value; }

Mientras NumberFormatException mi código, NumberFormatException una NumberFormatException :

java.lang.NumberFormatException: For input string: "N/A" at java.lang.NumberFormatException.forInputString(Unknown Source) at java.lang.Integer.parseInt(Unknown Source) at java.lang.Integer.valueOf(Unknown Source) at java.util.TreeMap.compare(Unknown Source) at java.util.TreeMap.put(Unknown Source) at java.util.TreeSet.add(Unknown Source)`

¿Cómo puedo evitar que ocurra esta excepción?


Haga un manejador de excepciones como este,

private int ConvertIntoNumeric(String xVal) { try { return Integer.parseInt(xVal); } catch(Exception ex) { return 0; } } . . . . int xTest = ConvertIntoNumeric("N/A"); //Will return 0


Obviamente, no puede analizar N/A al valor int . puede hacer algo como seguir para manejar esa NumberFormatException .

String str="N/A"; try { int val=Integer.parseInt(str); }catch (NumberFormatException e){ System.out.println("not a number"); }


Integer.parseInt(str) arroja NumberFormatException si la cadena no contiene un entero analizable. Puedes tener lo mismo que abajo.

int a; String str = "N/A"; try { a = Integer.parseInt(str); } catch (NumberFormatException nfe) { // Handle the condition when str is not a number. }


"N/A" no es un número entero. Debe arrojar NumberFormatException si intenta analizarlo en entero.

Verifica antes de analizar. o manejar Exception correctamente.

  1. Manejo de excepciones*

try{ int i = Integer.parseInt(input); }catch(NumberFormatException ex){ // handle your exception ... }

o - Coincidencia de patrones enteros -

String input=...; String pattern ="-?//d+"; if(input.matches("-?//d+")){ // any positive or negetive integer or not! ... }