大数相加的问题

2019-03-18  本文已影响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("")
}
上一篇下一篇

猜你喜欢

热点阅读