float f = 52.92;
があります。実際には、それは52.91999816894531
のような値を保持します。しかし、私はjson-stringを使ってそれを私のweb-appに送信したいと思います。どうすればいい?浮動小数点数を%.2f形式に切り捨ててJSONにエンコードする方法は?
{"price": 52.92}
私が使用するコード:結果として、私はこのJSON文字列を取得する必要があり
私は、また
{"price": 52.91999816894531}
:
float f = 52.92;
JSONObject js_price = new JSONObject();
js_price.put("price", f);
Log.d("json", js_price.toString());
はこの醜いJSONを生成します"price"
は、文字列ではなくjsonの数値形式にする必要があります。
なぜ、最初に価格のために 'BigDecimal'ではなく' float'を使用していますか?値が転送/操作されるときはいつでも浮動小数点の問題をすべて修正し続け、固定数値形式で期待されています。 – BalusC
BigDecimalは私に必要な目的のために頭を悩ましているようです... – Prizoff