我只是想在满足某些条件的情况下将 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);
这是控制台输出:
n1->443751754287812600 - number
n2->null
adding 1
n2->443751754287812600
我本来期待着n2=443751754287812601
甚至n2=4437517542878126001
。你能解释一下为什么它不起作用吗?以及如何正确求和?
感谢您的帮助。
JavaScript 中的数字在大多数语言中通常称为双精度数:IEEE754 双精度浮点数 http://en.wikipedia.org/wiki/Double-precision_floating-point_format.
它们的精度有限(最大整数为 2^53=9,007,199,254,740,992),您只需通过该限制即可。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)