Math.round()四舍五入取整原理

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

猜你喜欢

转载自zhitangrui2010.iteye.com/blog/2231472