求和 333333333333333333333333 + 99999999999999999999999999
let a = '333333333333333333333333';
let b = '99999999999999999999999999';
function sum(num1,num2){
//十位结果
let s = 0;
//个位结果
let m = 0;
//num1数字
let n1 = 0;
//num2数字
let n2 = 0;
//和
let t = '';
判断num1和num2大小,处理位数(补全等长并加1预留进位)
if (num1.length>num2.length) {
num2 = num2.padStart(num1.length+1,'0')
num1 = num1.padStart(num1.length+1,'0')
}else{
num1 = num1.padStart(num2.length+1,'0')
num2 = num2.padStart(num2.length+1,'0')
}
//遍历字符串并同位相加
for (let i = num1.length-1; i >= 0; i--) {
//num1数字并加上进位
n1 = parseInt(num1[i])+s
//num2数字
n2 = parseInt(num2[i])
//相加取个位
m = parseInt((n1+n2)%10)
//相加取十位
s = parseInt((n1+n2)/10)
//结果加入字符串
t=m+t;
}
//判断首位是否为0
if (t.startsWith(0)) {
//截取
t=t.slice(1)
}
return t;
}
console.log(sum(a,b));