如何从json获取浮点值?

时间:2014-11-13 10:44:23

标签: android json web-services double

我正在从jsondata

中检索价值
HttpClient client = new DefaultHttpClient();
HttpConnectionParams.setConnectionTimeout(client.getParams(), 10000);
HttpResponse response;
HttpGet gett = new HttpGet(URL);

response = client.execute(get);
BufferedReader reader = new BufferedReader(new putStreamReader(response.getEntity().getContent(), "UTF-8"));
orignalResponse = reader.readLine();

JSONTokener tokener = new JSONTokener(orignalResponse);
JSONObject jsonData = new JSONObject(tokener);
Log.v("AMOUNT", "amount :"+jsonData.get("Amount"));

我想要检索"金额"最初是" 23868352383.00"
但我正在使用

检索它

jsonData.get("Amount"),它的值为" 2.3868352383E10",

使用jsonData.getDouble("Amount"),它的值为" 2.3868352383E10"

使用jsonData.getLong("Amount")删除分数部分

我如何检索值?请帮忙。

5 个答案:

答案 0 :(得分:12)

BigDecimal类有一个方法floatValue。所以,如果你想要比String更漂浮,你也可以使用它。

BigDecimal.valueOf(jsonObject.getDouble("KEY_STRING")).floatValue();

答案 1 :(得分:5)

BigDecimal.valueOf(jsonData.getDouble("Amount")).toPlainString()

答案 2 :(得分:4)

您可以尝试大十进制将您的字符串转换为浮动删除指数

检查it

           BigDecimal.valueOf(yourvalueString);

希望有所帮助。

您可以从here获得进一步的帮助 感谢

答案 3 :(得分:2)

只需使用:

float value = Float.valueOf(jsonObject.getString("KEY_STRING"));

答案 4 :(得分:0)

如何从json获取类似1.5的float值 我从json获得的浮点数看起来像是:“ rating”:4.5,

和我在android studio中的代码,我通过写得到这个浮点值:

float ratingNumber = BigDecimal.valueOf(hit.getDouble(“ rating”))。floatValue();

对我来说很好