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.
- 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!
...
}