JS 实现两个很大的数字相加
2019-06-10 本文已影响0人
肆意木
function sumBigNumber(a, b) {
var res = '',
temp = 0;
a = a.split('');
b = b.split('');
while (a.length || b.length || temp) {
temp += ~~a.pop() + ~~b.pop();
res = (temp % 10) + res;
temp = temp > 9;
}
return res.replace(/^0+/, '');
}
var sum1 = '183653865213568326573265723657367865723567237365238138673263275632';
var sum2 = '38753623657326857326572635732657326157373586376523765723657234';
console.log(sumBigNumber(sum1,sum2));
//183692618837225653430592296293100523049724610951614662438986932866
解析:数字很大的时候用 number 类型无法表示,就用字符串形式表示,转成字符串形式之后分割,依次最后一位进行相加,相加之后确认是否需要进位,类型转为字符串,下次相加把进上来的数字相加进去。