내가 검색했는데 발견되었지만 모두 작동하지 않았습니다. 내 문제는 String
에서 double
으로 캐스팅하려는 동안 NumberFormatException
이 발생합니다.Java에서 NumberFormatException을 피할 수있는 방법은 무엇입니까?
문자열 배열에는 많은 문자열이 포함되어 있으며 데이터를 볼 수 있도록 출력을 만들기 위해 먼저 출력을 시도했습니다. 유일한 문제는 double 값입니다. 그것은 5837848.3748980과 비슷하지만 valueOf 메서드는 항상 여기에 예외를 throw합니다. 나는 이유를 모른다.
try
{
int key = Integer.valueOf(atomized[0]);
double value = Double.valueOf(atomized[1].trim());
int role = Integer.valueOf(atomized[2]);
Double newAccountState = this.bankKonto.charge(key, value, role);
System.out.println("NEW Account State "+newAccountState);
this.answerClient(newAccountState.toString());
}
catch (NumberFormatException e)
{
System.out.println(e.getClass().toString()+" "+e.getMessage());
}
예외 출력 : 그것은 여기 잘 작동
java.lang.NumberFormatException: For input string: "109037.0"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.valueOf(Unknown Source)
at vsys.ue02.server.Bank.computeData(Bank.java:122)
at vsys.ue02.server.Bank.run(Bank.java:160)
예외가 무엇에 표시 - 즉 유효한 정수하지? – darioo
NumberFormatException – Andre
darioo가 기본적으로 예외 로그를 요청하고 있습니다. –