Math.round真的是四舍五入吗?我不这么认为

public static long round(double a)
返回最接近参数的 long。结果将舍入为整数:加上 1/2,对结果调用 floor 并将所得结果强制转换为 long 类型。换句话说,结果等于以下表达式的值:
(long)Math.floor(a + 0.5d)

 

 

 

 按照四舍五入的理解,-11.5约等于-12才对,但是Java中的round采取加上1/2再向下取整的方式,所以在类似这种.5的数据时不能按四舍五入理解。

又测试了下Excel表格,发现它的round函数为四舍五入。

 

posted @ 2020-11-26 00:49  zjwoo  阅读(361)  评论(0编辑  收藏  举报