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();