您的位置:首页 > 其它

银行家舍入法

2016-06-07 10:29 405 查看

舍去位的数值小于5时,直接舍去。

舍去位的数值大于5时,进位后舍去。

当舍去位的数值等于5时,若5后面还有其他非0数值,则进位后舍去,若5后面是0时,则根据5前一位数的奇偶性来判断,奇数进位,偶数舍去。

对于上面的规则我们举例说明

11.556 = 11.56          ------六入

11.554 = 11.55          -----四舍

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

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

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

public static void main(String[] args) {

        BigDecimal d = new BigDecimal(11.5551);    

        BigDecimal i = d.multiply(r).setScale(2,RoundingMode.HALF_EVEN);     //使用银行家算法 

        System.out.println(i);

        }

Output:
11.56

五舍六入:

public int mathrount(int sum,int size){

//sum总数

//size分成几份

//return 平均数

int i = 0;

if((sum % size)>size/2)

   i = 1;
return (sum/size)+i;

}


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: