四舍六入五成双方法

//四舍六入方法(数值,保留位数)
  fourSix:function(sz,bl){
    var sz=Number(sz);
    var bl=bl;
    var szzfc=sz+"";
    var jdz=1;
    var regular=/^(-?\d+)(\.\d+)?$/;
    //1.先判断数值是否为空是否为浮点数
    if(regular.test(srk)){
    //负数会影响有关floor的判定所以再次之前先进行正负数判定
      if(sz<0){
        jdz=-1;
      }
      //2.判断小数位数
      if(szzfc.indexOf(".")==-1){ //判断是否为整数
        //console.log(sz.toFixed(bl))
        return sz.toFixed(bl);
      }else if(szzfc.length-szzfc.indexOf(".")-1<=bl){//判断小数部分是否够保留位数
        //console.log(sz.toFixed(bl))
        return sz.toFixed(bl);
      }else{
          //舍弃位的数字小于等于4时,舍去该位以及后面的数字
          if(szzfc[szzfc.indexOf(".")+bl+1]<=4){
              //console.log(sz.toFixed(bl))
              return sz.toFixed(bl);
          //舍弃位的数字大于等于6时,舍去该位以及后面的数字
          }else if(szzfc[szzfc.indexOf(".")+bl+1]>=6){
              //console.log(sz.toFixed(bl))
              return sz.toFixed(bl);
          }else{
            //舍弃位的数字为5,并且后面有有效数字(不为0的任何数)。
            if(Number(szzfc.slice(szzfc.indexOf(".")+bl+2))!=0){
              //console.log(((jdz*Math.ceil(jdz*sz*(10**bl)))/(10**bl)).toFixed(bl))
              return ((jdz*Math.ceil(jdz*sz*(10**bl)))/(10**bl)).toFixed(bl);
            }else{
              //舍弃位的数字为5,后面没有数据前面的数字是奇数则进位
              if(Number(szzfc[szzfc.indexOf(".")+bl]%2!=0)){
                //console.log(((jdz*Math.ceil(jdz*sz*(10**bl)))/(10**bl)).toFixed(bl))
                return ((jdz*Math.ceil(jdz*sz*(10**bl)))/(10**bl)).toFixed(bl);
              //舍弃位的数字为5,后面没有数据前面的数字是偶数则舍掉
              }else{
                //console.log((jdz*(Math.floor(jdz*sz*(10**bl)))/(10**bl)).toFixed(bl))
                return (jdz*(Math.floor(jdz*sz*(10**bl)))/(10**bl)).toFixed(bl);
              }
            }
          }
      }
    }else{
      console.log("请输入浮点数");
      return "";
    }
  },

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值