Math.round的实现方法:
public static long round(double a) {
if (a != 0x1.fffffffffffffp-2) // greatest double value less than 0.5
return (long)floor(a + 0.5d);
else
return 0;
}
分析这个方法,我们就可以知道,round方法是 +0.5 然后向下取整。(floor()地板的意思,即向下取整-取比当前数字小的整数,ceil()是天花板的意思,即向上取整-取比当前数字大的整数)
例如:Math.round(3.5);//3.5+0.5 = 4 向下取整:4
Math.round(-3.5);//-3.5+0.5 = -3 向下取整:-3
网友评论