Android/Exception
NaN에러 발생시 대처 : org.json.JSONException: Forbidden numeric value: NaN
덩치
2014. 8. 18. 09:27
숫자형 값을 출력했더니 NaN값이 발생한다. 이유를 알아보자
NaN은 여러가지 경우에 발생한다.
데이터를 0으로 나눈 값을 입력하거나, 숫자로 바꿀 수 없는 문자열을 숫자로 입력받거나,
데이터형이 감당할 수 없는 크기의 값을 입력받게 되는 등등 다양한 경우에 걸쳐 발생한다.
필자도 org.json.JSONException: Forbidden numeric value: NaN 가 발생하여 고생했는데,
(제이슨 오브젝트에 NaN값을 가진 벨류를 put하여 발생)
다음과 같이 처리를 해주면 NaN 체크가 가능하다.
if (Float.isNaN(num))
if (Double.isNaN(num))
위와같이 체크를 하여 boolean값을 리턴받을 수 있다.
조건을 만족할 경우 Default 값을 설정 해 주면 되겠다.