Vamos a tener algunos float f = 52.92;
. De hecho, mantendrá el valor algo así como 52.91999816894531
. Pero quiero transmitirlo a mi aplicación web usando json-string truncando esos dígitos no significativos. ¿Cómo haría esto?Cómo truncar float al formato% .2f mientras lo codifica en JSON?
Como resultado, tengo que obtener esta cadena JSON:
{"price": 52.92}
El código que utilizo:
float f = 52.92;
JSONObject js_price = new JSONObject();
js_price.put("price", f);
Log.d("json", js_price.toString());
Produce esta fea JSON:
{"price": 52.91999816894531}
También, necesita "price"
para ser un formato de número en json, no una cadena.
¿Por qué está usando 'float' en lugar de' BigDecimal' para los precios en primer lugar? Usted mantiene constantemente la fijación de todos los problemas de punto flotante cada vez que el valor se va a transferir/manipular/etc. y se espera en un formato de número fijo. – BalusC
BigDecimal parece estar descuidado para los fines que yo necesito ... – Prizoff