js相除出现浮点(JS浮点计算BUG屏蔽)

  1. function accDiv(arg1, arg2) {
    
                var t1 = 0, t2 = 0, t3 = 0, r1, r2;
    
                try { t1 = arg1.toString().split(".")[1].length } catch (e) { }
    
                try { t2 = arg2.toString().split(".")[1].length } catch (e) { }
    
                r1 = Number(arg1.toString().replace(".", ""))
    
                r2 = Number(arg2.toString().replace(".", ""))
    
                if (r2 == 0)
                    return 0;
    
                var result = String(r1 / r2);
    
                try { t3 = result.toString().split(".")[1].length } catch (e) { }
    
                var index = t2 - t1 - t3;
    
                if (index < 0) {
                    result = result.replace(".", "");
    
                    while (result.length <= Math.abs(index)) {
                        result = '0' + result;
                    }
    
                    var start = result.substring(0, result.length + index);
                    var end = result.substring(result.length + index, result.length);
    
                    result = start + '.' + end;
    
                    return Number(result);
                }
                else if (index > 0) {
                    result = result.replace(".", "");
    
                    while (result.length <= Math.abs(index)) {
                        result += '0';
                    }
                    return Number(result);
                }
                else return Number(result.replace(".", ""));
    
            } 
    


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值