让我们有一些float f = 52.92;
。事实上,它将保持类似52.91999816894531
的价值。但我想使用json-string截断这些非重要数字将其传输到我的web应用程序。我将如何做到这一点?如何将float编码为%.2f格式并将其编码为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中的数字格式,而不是字符串。
为什么你使用'float'而不是'BigDecimal'的价格在第一位?每当值被传送/操作/等等,并且预期都是固定数字格式时,你总是保持解决所有这些浮点问题。 – BalusC 2012-08-01 17:21:20
BigDecimal似乎是为了我所需要的目的... – Prizoff 2012-08-01 17:38:25