两个非常长的数,以字符串形式表示:
let a = '23982838298082082'
let b = '230208490824809289348208490822112'
function bigNumAdd(a,b){
let long = '', short = ''
// 不管哪个长,先调整成自己想要的;
a.length > b.length ? (long = a, short = b): (long = b, short = a)
// 都转成数组格式
let arrL = long.split('')
let arrS = short.split('')
// 取长度差
let distance = long.length - short.length
// 设置进一位标识
let more = 0
let result = []
// 将短的那个数补齐
arrS = (new Array(distance).fill(0)).concat(arrS)
for(let i = long.length - 1
let sum = +arrL[i] + +arrS[i] + more
if(sum >= 10){
more = 1
let yu = sum % 10
result.unshift(String(yu))
}else{
more = 0
result.unshift(String(sum))
}
}
return result.join('')
}
console.log(bigNumAdd(a,b))