在JavaScript中添加两个大数

时间:2019-05-30 01:49:00

标签: javascript node.js

我一直在尝试使用javascript添加以下数字; 76561197960265728 + 912447736

不幸的是,由于四舍五入的javascript不会得到正确的数字,我需要将该数字作为字符串。

我尝试使用substr删除最后几位数字,然后将两个数字相加,然后将两个字符串放在一起,但不幸的是,如果数字中的第一个是1,这是行不通的。

function steamid(tradelink){
    var numbers = parseInt(tradelink.split('?partner=')[1].split('&')[0]),
            base = '76561197960265728';

    var number = parseInt(base.substr(-(numbers.toString().length + 1))) + numbers;
            steamid = //put back together
}

steamid('https://steamcommunity.com/tradeoffer/new/?partner=912447736&token=qJD0Oui2');

预期: 76561198872713464

1 个答案:

答案 0 :(得分:1)

欢迎使用StackOverflow。

要使用如此大的整数进行运算,应使用BigInt,它将正确地处理大于2ˆ53的整数(这是普通Number在JS上可以支持的最大大小

const sum = BigInt(76561197960265728) + BigInt(912447736);

console.log(sum.toString());