【问题标题】:How to get float value from json?如何从json中获取浮点值?
【发布时间】:2014-11-13 10:44:23
【问题描述】:

我正在从 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") 删除分数部分

如何检索值?请帮忙。

【问题讨论】:

  • 我建议您仅像 String 一样获取它,然后将其转换为您想要的任何内容。但只需从 Json 作为字符串获取。
  • json 总是给 Sting 我们可以将 String 解析为 Float
  • 我已经尝试过了,但是作为字符串它也给出了“2.3868352383E10”的值,还有其他方法吗?
  • @RajeshSuthar 不,不可能,如果您在 JSon 中的值为“23868352383.00”,那么它必须返回相同的字符串。
  • @pratt :它是这样的“2.3868352383E10”

标签: android json web-services double


【解决方案1】:

BigDecimal 类有一个方法floatValue。所以,如果你想得到而不是浮点数,你也可以使用它。

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

【讨论】:

    【解决方案2】:
    BigDecimal.valueOf(jsonData.getDouble("Amount")).toPlainString()
    

    【讨论】:

    • 我试过了,但它删除了小数部分,请你用这个值“2.3868352383E10”在你身边检查一下
    • 它删除了分数,因为它的值为零,例如尝试将值“23868352383.00”更改为“23868352383.90”,你会看到它正在工作
    【解决方案3】:

    您可以尝试 Big Decimal 将您的字符串转换为浮点数去除指数

    查看it

               BigDecimal.valueOf(yourvalueString);
    

    希望对您有所帮助。

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

    【讨论】:

      【解决方案4】:

      只需使用这个:

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

      【讨论】:

        【解决方案5】:

        如何从 json 获取像 1.5 这样的浮点值 我的 json 浮点数看起来像这样:“rating”:4.5,

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

        float ratingNumber = BigDecimal.valueOf (hit.getDouble("rating")).floatValue();

        对我来说很好用

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-01-13
          • 1970-01-01
          • 1970-01-01
          • 2018-09-22
          • 2016-12-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多