一般的大数相加都是将两个字符串进行拆分然后倒序相加,这样比较麻烦,看到一个比较简单的快速实现两个大数相加的方法:

function sumStrings(a, b) {
    var res = '', c = 0;
    a = a.split('');
    b = b.split('');
    while (a.length || b.length || c) {
        c += ~~a.pop() + ~~b.pop();
        // 取个位数
        res = c % 10 + res;
        // 判断是否有进位
        c = c > 9;
    }
    return res.replace(/^0+/, '');
}

这里注意~~a.pop(),如果有数字就变成数字,如果是undefined,那么就会变成0。

回到顶部
我要评论

所有评论

返回
邮箱:
绑定
取消
×

我要评论

回复:

昵称:(昵称不超过20个字)

图片:

邮箱:
绑定邮箱后,若有回复,会邮件通知。
提交
还可以输入500个字