【发布时间】:2016-02-17 03:58:21
【问题描述】:
我正在使用一个计算最早截止日期算法的 java 程序。除了双数字外,一切似乎都运行良好。当我计算平均值(周转时间和等待时间)时,通常答案是这样的:
18.566666666666663
我想删减(不四舍五入)答案到小数点后两位,所以答案应该是:
18.56
好的,所以我尝试在控制台屏幕上打印结果:
System.out.println (String.format ("%.2f", ttAve)); // ttAve contains 18.566666666666663
但是,打印时数字会四舍五入:
18.57
我该怎么办?
【问题讨论】:
-
提示:首先将您的答案乘以 100。仅供参考:您想要的通常术语是“截断”。
-
或者把大数转成字符串再格式化。
-
这就是我所做的:我将整个双精度数转换为字符串乘以 100。然后我尝试用分隔符点分割字符串。我将字符串解析回 double 但字符串似乎没有拆分。有没有更简单的方法?
标签: java numbers rounding number-formatting