これが私が見ているものを説明するための小さなコードです
float floater = 59.999f;
DecimalFormat df = new DecimalFormat("00.0");
System.out.println(df.format(floater));
これは印刷します:
60.0
印刷したい
59.9
私は何をする必要がありますか?
DecimalFormat
を使用する前に、この行を追加してください。
df.setRoundingMode(RoundingMode.DOWN);
他の丸めモードを見て、どれがあなたに最適かを確認してください。
注:この方法は、JDK1.6以降でのみ機能します。
float d = 59.999f;
BigDecimal bd = new BigDecimal(d);
// Use the returned value from setScale, as it doesn't modify the caller.
bd = bd.setScale(1, BigDecimal.ROUND_FLOOR);
String formatted = bd.toString();