126 字
1 分钟
如何对两个超大数字字符串做相加操作

如何对两个超大数字字符串做相加操作#

var a = '10000000000000000000000'
var b = '456789345678945678945678'
function add(a,b)
function add(a,b){
// 获取各自长度
a = a.split(''), b = b.split('');
let sum=[],go=0;
while(a.length || b.length){
// 通过pop每次取一个
let num1 = parseInt(a.pop()) || 0;
let num2 = parseInt(b.pop()) || 0;
// 两值相加,如果有进位就 + go
let tmp = num1 + num2 + go;
if(tmp > 9){
go = 1;
// 取余数
tmp %= 10;
}else{
go = 0;
}
// array.unshift(item)表示在数组array的最前面插入
sum.unshift(tmp)
}
if(go) sum.unshift(1);
return sum.join('');
}
如何对两个超大数字字符串做相加操作
https://nollieleo.github.io/posts/如何对两个超大数字字符串做相加操作/
作者
翁先森
发布于
2021-05-26
许可协议
CC BY-NC-SA 4.0