美文网首页
js大数相加

js大数相加

作者: 超级码力 | 来源:发表于2020-03-01 11:56 被阅读0次

js的数值是有上限的,但是如果我们需要超过上限的数来相加怎么办,这个题也是面试经常会考的一个题。

function add(a,b){
    let arrA = (a+'').split(''),
        arrB = (b+'').split(''),
        res = '',
        acc = 0

    while(arrA.length || arrB.length || acc){
        acc += ~~arrA.pop() + ~~arrB.pop()
        res = (acc % 10) + res
        acc = acc > 9
    }
    return res.replace(/^0+/,'')
}

思路: 1.将传入的两个数转为数组

2.把数组的最后一个值拿出来相加,并取整(~~)

3.把相加的结果的个位数拿出来附给res(由于res是字符串所以这个地方相加的结果也就是字符串)

4.判断acc是否大于9,如果大于9则说明需要进1,这里判断如果是true则在下次相加时acc就会是1,false则为0。

5.当数组的长度都清空且acc也是0的时候就停止循环。

相关文章

  • js大数相加

    js的数值是有上限的,但是如果我们需要超过上限的数来相加怎么办,这个题也是面试经常会考的一个题。 思路: 1.将传...

  • js大数相加问题

    一般情况下用js写一个两个数相加的函数很简单,如下: 我们在控制台运行一下,发现打印出了4,没有问题 但是我们改一...

  • JS大数字相加

    问:如何计算大数字的相加?大到可以溢出的那种。 大数字相加,避免使用传统的相加(可能会溢出),所以使用数学题的思路...

  • 前端-大数相加

    大数相加

  • 大数相加

    大数相加类

  • JS 两个大数相加

    到时间了不知道能不能100%通过郁闷不过还好写完了思路就是先逆转,从小位开始逐位相加,和大于10时在前一位占1

  • JSCoding

    大数相加 深拷贝

  • 大数相加

    大数相加(java) 一、BigDecimal工具类 二、转换为字符串解法

  • P98-任意两个整数的加法

    两个大数(包括负数)相加

  • [算法] 大数相加

    看到个有意思的问题 “给定2个整数,这两个数大的连long类型都装不下,如何计算两数和” 实践了一下,可以用数组存...

网友评论

      本文标题:js大数相加

      本文链接:https://www.haomeiwen.com/subject/iwcfkhtx.html