js大数相加
function sumStrings(a,b) {
a = '0' + a;
//加0是因为两个最大的位数相加后可能需要进位
b = '0' + b;
a.length - b.length > 0 ? (b = Array(a.length - b.length+1).join('0')+b) : (a = Array(b.length - a.length+1).join('0')+a);
a = a.split('');
b = b.split('');
var temp = '',
carry = 0,
res = [];
for(var len=a.length-1, i = len;
i >= 0;
i--){
temp = -(-a[i]-b[i]-carry);
if(temp >= 10){
carry = 1;
res.push((temp + '')[1]);
}else{
carry = 0;
res.push(temp);
}}
res = res.reverse().join('').replace(/^0/,'');
}sumStrings('1123123123123123123123123123123','123123123123123123123123123123')
//1246246246246246246246246246246
【js大数相加】
推荐阅读
- 列出所有自定义的function和view
- 一个选择排序算法
- 读书笔记|《白话大数据和机器学习》学习笔记1
- 怎么看待贵阳大数据交易所的成立
- 函数的一些东西
- 由Uncaught|由Uncaught TypeError: this.player.startMoveAt is not a function引申
- arrow|arrow function
- 大数据和AI时代,对于产品经理意味着什么
- 005|005 大树日课(区块链与大数据----大数据从幻灭走向复苏的希望)
- 大数据开发之Hive篇19-Hive分区表详解