Como posso evitar java?idioma.Number FormatException: For input string: "N/A"? [fechado]
Enquanto estou a executar o meu código, estou a receber um
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)`
Como posso evitar que esta excepção ocorra?
51
Author: hichris123, 2013-09-10
5 answers
"N/A"
não é inteiro. Ele deve lançar NumberFormatException
Se você tentar analisá-lo para inteiro.
Verifique antes de analisar. ou manusear Exception
adequadamente.
- Tratamento De Excepção *
try{ int i = Integer.parseInt(input); }catch(NumberFormatException ex){ // handle your exception ... }
Ou - correspondência de padrões inteiros -
String input=...;
String pattern ="-?\\d+";
if(input.matches("-?\\d+")){ // any positive or negetive integer or not!
...
}
60
Author: Subhrajyoti Majumder, 2013-09-10 06:24:24
Obviamente não podes processar o valor de
N/A
para int
. você pode fazer algo como seguir para lidar com isso NumberFormatException
.
String str="N/A";
try {
int val=Integer.parseInt(str);
}catch (NumberFormatException e){
System.out.println("not a number");
}
5
Author: Ruchira Gayan Ranaweera, 2013-09-10 06:22:17
Faça um tratamento de excepção 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
5
Author: Rajaprabhu Aravindasamy, 2013-09-10 06:25:18
Inteiro.parseInt (str) atira NumberFormatException
Se o texto não contém um inteiro parsable. Podes comer o mesmo que lá em baixo.
int a;
String str = "N/A";
try {
a = Integer.parseInt(str);
} catch (NumberFormatException nfe) {
// Handle the condition when str is not a number.
}
3
Author: Jayamohan, 2013-09-10 06:23:38
"N / A" é uma cadeia e não pode ser convertida para um número. Apanha a excepção e trata disso. Por exemplo:
String text = "N/A";
int intVal = 0;
try {
intVal = Integer.parseInt(text);
} catch (NumberFormatException e) {
//Log it if needed
intVal = //default fallback value;
}
2
Author: rocketboy, 2013-09-10 06:21:53