HTTP请求整数溢出NodeJS

时间:2018-01-17 04:54:47

标签: javascript node.js integer-overflow

我尝试使用nodejs中的request库发送HTTP请求。但是,我无法将401450000000494382 id作为POST参数发送,因为Node会将其截断为401450000000494400

2 个答案:

答案 0 :(得分:0)

javascript / Node.js中数字类型的最大值为9007199254740991 所以不可能通过'数字'类型。 只需将值作为字符串类型发送并相应地更改操作。

答案 1 :(得分:0)

问题在于数字因为他给出的结果比原来的大。因为每个高于9007199254740991的数字都会失去精度。 所以你可以使用这段代码。

    var bignum = require('bignum');


    var p = bignum(401450000000494382).sub(19).add(1);

    console.log(p.toString());

在这里试试 https://npm.runkit.com/bignum