在JavaScript中无法将极大数量增加一个

4 javascript numbers

我想把这个数字增加一个9223372036854775808:

var number = 9223372036854775808;
var plusOne = number + 1;
Run Code Online (Sandbox Code Playgroud)

这应该产生922337203685477580 9,但它产生9223372036854776000.

为什么?更重要的是,我该如何解决这个问题?

roy*_*wie 6

JavaScript中表示的最大数(2^53) - 1,或写出来,9007199254740991.您拥有的数量9223372036854775808超过该数量的1024倍.

如果要使用大于上面的数字,则应使用大整数库.但是,JavaScript没有内置的,因此您需要自己抓取它.就个人而言,当我处理涉及非常大数字的事情时,我使用大整数,例如Project Euler.