node.js oddNumber%2正在返回0

node.js oddNumber%2正在返回0,node.js,Node.js,当我在终端中运行node并运行以下操作时,我发现了一个奇怪的错误: > 48112959837082048697 % 2 0 > 4811295983708204869 % 2 0 > 4811295983708204869 / 2 2405647991854102500 > 2405647991854102500 + 2405647991854102500 4811295983708205000 > 它似乎只影响一些数字。我是做错了还是误解了模块化?48112

当我在终端中运行node并运行以下操作时,我发现了一个奇怪的错误:

> 48112959837082048697 % 2
0
> 4811295983708204869 % 2
0
> 4811295983708204869 / 2
2405647991854102500
> 2405647991854102500 + 2405647991854102500
4811295983708205000
> 

它似乎只影响一些数字。我是做错了还是误解了模块化?

4811295983708204869太大,无法按原样表示。因此,当您编写它时,javascript将其四舍五入到4811295983708205000,这是一个偶数


如果您不希望发生这种情况,您可能需要使用一个bignumber库。

这是浮点运算的结果,请参阅。谢谢。这是一个相当好的阅读,所以我只是谷歌“javascript浮点算术”,这导致我,所以你把我在正确的道路上。