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

Pri*_*off 7 java android json

我们有一些float f = 52.92;.事实上,它将拥有类似的价值52.91999816894531.但是我希望使用json-string将它传输到我的web-app,截断那些非有效数字.我该怎么做?

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

{"price": 52.92}
Run Code Online (Sandbox Code Playgroud)

我使用的代码:

float f = 52.92;
JSONObject js_price = new JSONObject();
js_price.put("price", f);
Log.d("json", js_price.toString());
Run Code Online (Sandbox Code Playgroud)

产生这个丑陋的json:

{"price": 52.91999816894531}
Run Code Online (Sandbox Code Playgroud)

另外,我需要"price"在json中使用数字格式,而不是字符串.

Pri*_*off 4

看来,我可以使用构造函数 JSONObject(String json),如下所示:

JSONObject js_price = JSONObject(String.format("{\"price\": %.2f}", f);
Run Code Online (Sandbox Code Playgroud)

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