【发布时间】:2011-06-22 22:09:41
【问题描述】:
这是说明我所看到的小代码
float floater = 59.999f;
DecimalFormat df = new DecimalFormat("00.0");
System.out.println(df.format(floater));
打印出来:
60.0
我想打印出来
59.9
我需要做什么?
【问题讨论】:
标签: java floating-point decimal
这是说明我所看到的小代码
float floater = 59.999f;
DecimalFormat df = new DecimalFormat("00.0");
System.out.println(df.format(floater));
打印出来:
60.0
我想打印出来
59.9
我需要做什么?
【问题讨论】:
标签: java floating-point decimal
在使用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();
【讨论】: