java - 如何在将 float 编码为 JSON 时将其截断为 %.2f 格式?

标签 java android json

让我们有一些 float f = 52.92;。事实上,它将保存类似于 52.91999816894531 的值。但我想使用截断那些非有效数字的 json 字符串将其传输到我的网络应用程序。我该怎么做?

因此,我需要获取这个json字符串:

{"price": 52.92}

我使用的代码:

float f = 52.92;
JSONObject js_price = new JSONObject();
js_price.put("price", f);
Log.d("json", js_price.toString());

产生这个丑陋的 json:

{"price": 52.91999816894531}

此外,我需要 "price" 是 json 中的数字格式,而不是字符串。

最佳答案

看来,我可以使用构造函数 JSONObject(String json) ,像这样:

JSONObject js_price = JSONObject(String.format("{\"price\": %.2f}", f);

然后我可以用这个对象做任何其他与 json 相关的事情......

关于java - 如何在将 float 编码为 JSON 时将其截断为 %.2f 格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11764232/

相关文章:

android - 无法将 JSON 解析为 ListView

启动方法中的 JavaFX InvokingTargetException

java - “Using non reentrant iterator method: Array.iterator()” 错误消息是什么意思?

android - 在 Firestore 中阅读用户未阅读的信件

java - 仅使用一个 java 类显示特定的 xml 布局

javascript - 使用 javascript 获取 JSON 关键文本

java - jmxtrans - 无法执行

java - CORS 不适用于不同的网址

java - 使用 Spring DAO 和 Hibernate 的数据访问层。问题

Javascript 将 CSV 字符串映射到 JSON 数组