2013-11-28 50 views
4

JavaScript中的“Number”与“Integer”完全同义吗?为什么JavaScript使用术语“数字”而不是“整数”?

什么激起了我的好奇心:

--- PHP,Python和Java和其他人使用术语 “整数” --- JavaScript有功能parseInt()而非parseNumber()

是否有任何细节利益?

+0

有只有JavaScript中的浮点数,尽管整数可以表示为浮点数。 –

+0

[Integers in JavaScript]的可能重复(http://stackoverflow.com/questions/4703725/integers-in-javascript) –

+0

@ Qantas94Heavy我明白了。我没有太多数学。那么,我应该删除这篇文章吗?另一个问题并不完全相同,但它得到了很好的回答。我搜索了一会儿,想知道有什么区别,找不到任何东西。 – m59

回答

9

JavaScript中的“Number”与“Integer”完全同义吗?

不是。JavaScript中的所有数字实际上都是64位浮点值。

parseInt()parseFloat()都返回相同的数据类型 - 唯一的区别是是否有任何小数部分被截断。

64位中的52位用于精度,所以这给出了精确的带符号的53位整数值。在此范围之外,整数近似。

更详细地说,从-9007199254740992到+9007199254740992的所有整数都表示为(-2^53到+ 2^53)。 JavaScript无法完全表示的最小正整数是9007199254740993.尝试将该数字粘贴到JavaScript控制台中,并将其舍入到9007199254740992. 9007199254740994,9007199254740996,9007199254740998等等都完全表示,但不是其中的奇数整数。可以正确表示的整数变得越稀疏,越高(或更负),直到达到最大值Number.MAX_VALUE == 1.7976931348623157e+308

+0

不错,有道理。我没有用任何语言做过多的数学,所以我不会注意到。 – m59

相关问题