如何在javascript中为一个大数字添加1?

ben*_*ite 0 javascript

如果满足某些条件,我只是想在大数字上加1.这是我的javascript:

console.log('n1->'+n1+ ' - ' + typeof(n1) );
console.log('n2->'+n2);

if(n1 != null && n2 != n1){
    console.log('adding 1');
    n2 = n1 + 1;
}
console.log('n2->'+n2);
Run Code Online (Sandbox Code Playgroud)

这是控制台输出:

n1->443751754287812600 - number
n2->null
adding 1
n2->443751754287812600
Run Code Online (Sandbox Code Playgroud)

我期待有n2=443751754287812601甚至是n2=4437517542878126001.你能解释一下它为什么不起作用吗?以及如何正确地完成总和?

谢谢你的帮助.

Den*_*ret 5

JavaScript中的数字在大多数语言中通常称为double:IEEE754双精度浮点数.

它们的精度有限(最大整数为2 ^ 53 = 9,007,199,254,740,992),你只是通过了这个限制.