int i = 0;
        if(d>0)
           i = (int)(d + 0.5);
        if(d<0)
           i = (int)(d - 0.5);
首先得知道double转int时,会丢掉小数部分,只留整数部分,符号无影响,保留。
也就是说,从2.1到2.9转int 都是2,从-2.1到-2.9转int都是-2.
那么:
如: d = 2.1  ,d+0.5=2.6,  (int)转换后为2,符合四舍五入。
        d = 2.8  , d+0.5=3.3, (int)转换后为3,符合四舍五入。
        d = - 2.1, d-0.5=-2.6, (int)转换后为-2,符合四舍五入。
        d = - 2.8, d-0.5=-3.3, (int)转换后为-3,符合四舍五入。