Java中的四舍五入

时间:2024-11-10 18:35:14

经典案例分析:
public class RoundTest {
    public static void main(String[] args) {
        System.err.println("12.5的四舍五入值:"+Math.round(12.5));
        System.err.println("-12.5的四舍五入的值:"+Math.round(-12.5));
    }
}

这是四舍五入的经典案例,从上面结果中发现,这个两个绝对值相同的数字,为何近似值会不同呢?其实这与Math.round采用的四舍五入的规则来决定的。

举例说明:11.556 =11.56  --六入

11.554=11.55   ----四舍

11.5551 = 11.56 ----五后有数进位

11.545 =11.54  -- 五后无数,若前位为偶数应舍弃

11.555 = 11.56   -- 五后无数,若前位为奇数应进位

下面的实例是使用银行相关的舍入法: