DecimalFormat舍入
这是一个小代码来说明我所看到的
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);
看看其他舍入模式,看看哪一个最适合你。
注意:此方法仅适用于JDK 1.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();