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函数为四舍五入。

原文地址:https://www.cnblogs.com/zjwoo/p/14040108.html