美文网首页
大数相加的问题

大数相加的问题

作者: 清汤饺子 | 来源:发表于2019-03-18 12:47 被阅读0次

    第一次接触到大数相加无法精确的问题。
    如下方法解决:
    方法一:

    function add(str1,str2) {
      // 实现该函数
        var arr1 = str1.split("").reverse();//字符串转数组,并且倒序
        var arr2 = str2.split("").reverse();
        var max = Math.max(Number(str1),Number(str2)).toString().length;//取较大值
        var arrAdd = [];
        for(var i = 0; i<max ; i++){
            if(!arr1[i]){
                arr1[i] = 0;
            }
            if(!arr2[i]){
                arr2[i] = 0;
            }
            if(!arrAdd[i]){
                arrAdd[i] = 0;
            }
            var num = Number(arr1[i])+Number(arr2[i])+Number(arrAdd[i]);
            if(num>9){//如果数字大于9,则要特殊处理
                arrAdd[i+1] = num.toString().substring(0,1);
                arrAdd[i] = num.toString().substring(1,2);
            }else{
                arrAdd[i] = num.toString();
            }
        }
        return arrAdd.reverse().join("")
    }
    

    相关文章

      网友评论

          本文标题:大数相加的问题

          本文链接:https://www.haomeiwen.com/subject/xosvmqtx.html