2016-10-03 5 views
-1

웹에서 날씨 정보를 가져 오는 앱을 만들고 있습니다.JSON 문자열에서 소수 자릿수 제거

전체적으로 JSONObject 전체가 표시됩니다. 그 결과로 온도가 .getDouble이라고 부를 수는 없지만 전화는 getString입니다.

이 문자열은 Math.round 메서드를 사용할 수없는 문자열을 반환합니다. .split(".")을 시도하고 텍스트보기에 스팅을 시도하려고 할 때 배열 예외를 벗어난 배열을 반환합니다.

.toString()으로 전화하면 텍스트 뷰에 "[Ljava.lang.String;@7353879"이 표시됩니다.

+0

정확히 'JSONObject'에'getDouble'을 호출 할 수 없습니까? –

+1

은 문자열이 아니며 문자열 []입니다. json을 게시하고 코드를 분할하고 구문 분석하는 데 사용한 코드를 표시하십시오. – njzk2

+0

getDouble을 호출 할 수 없다. 리소스를 찾을 수 없다는 의미이기 때문에 getDouble을 호출 할 수 없다. – lakimens

답변

1

난 당신이 JSON 데이터를 두 배로 변환하려는 경우 또는 당신이 뜻을 정확히 이해하지 못했다 사용할 필요가 당신이 사용할 수있는 부동 수 :

Double.parseDouble (jsonObj.getString ("x"));

또는

Float.praseFloat (jsonObj.getString ("X")); 이런

:

플로트 X = Float.praseFloat (jsonObj.getString ("X"));

업데이트 당신이 할 수있는 .... 진수를 타고 점점에 대한 나의 대답

이 :

INT X = ((int)를 사용해 Double.parseDouble (objJson.getString ("x")));

문자열 결과 = x + "";

+0

문자열에서 십진수를 제거해야합니다. JSONObject는 내가 문자열을 얻는 곳이다. – lakimens

+1

왜 그 double을 int 값으로 변환하지 않겠습니까? 이것이 도움이 될 것입니다. –

+0

제 대답을 업데이트합니다. 그것이 효과가 있으면 알려 주시기 바랍니다. –

0

텍스트 필드에서 텍스트를 얻기 위해, 당신은 .getText() 방법을 사용하고 .toString()

+0

당신이 무슨 말을하는지 이해가 안됩니다. – lakimens

+0

을 질문의 마지막 지점으로 가져 오십시오. .getText()를 사용하면 문자열을 반환합니다. –

+0

textview 또는 edittext에서 텍스트를 가져 오지 못하고 있습니다. JSONObject에서 가져옵니다. – lakimens