Lassen Sie uns einige float f = 52.92;
haben. In der Tat wird es den Wert etwas wie 52.91999816894531
halten. Aber ich möchte es an meine Web-App übertragen, indem ich json-string benutze, um diese nicht signifikanten Ziffern abzuschneiden. Wie würde ich das tun?Wie trenne ich Float im% .2f-Format, während ich es in JSON umwandle?
Als Ergebnis muß ich dieses JSON-String erhalten:
{"price": 52.92}
Der Code ich benutze:
float f = 52.92;
JSONObject js_price = new JSONObject();
js_price.put("price", f);
Log.d("json", js_price.toString());
Erzeugt diesen hässlichen json:
{"price": 52.91999816894531}
Auch ich brauche "price"
um ein Zahlenformat in JSON zu sein, keine Zeichenfolge.
Warum verwenden Sie 'float' anstelle von' BigDecimal' für Preise an erster Stelle? Sie werden ständig mit der Behebung all dieser Gleitkomma-Probleme fortfahren, wann immer der Wert übertragen/manipuliert/usw. wird und in einem festen Zahlenformat erwartet wird. – BalusC
BigDecimal scheint für die Zwecke, die von mir benötigt werden, übertrieben zu sein ... – Prizoff