提供不同编号的javascript警报

提供不同编号的javascript警报,javascript,jquery,alert,Javascript,Jquery,Alert,考虑以下JavaScript代码: alert(9999999999999999); 当我执行此文件时,我得到以下输出: 为什么我在alert()中获得10000000000?有人能给点建议吗?它用double表示,这个数字不能准确地存储为double,因为它有太多的有效数字。您得到的结果是可以表示的最接近的双精度 请参见这是JavaScript处理数字的方式问题。JavaScript中可能的最大整数值为9007199254740992 比较: 您的电话号码:9007199254740992

考虑以下JavaScript代码:

alert(9999999999999999);
当我执行此文件时,我得到以下输出:


为什么我在
alert()
中获得
10000000000
?有人能给点建议吗?

它用double表示,这个数字不能准确地存储为double,因为它有太多的有效数字。您得到的结果是可以表示的最接近的双精度


请参见

这是JavaScript处理数字的方式问题。JavaScript中可能的最大整数值为9007199254740992

比较:

您的电话号码:9007199254740992
最大数字:9999999999

因此,如果您测试9007199254740992,它将正常工作,但还有一个数字(9007199254740993)和JavaScript仍将返回9007199254740992


更详细地说,JavaScript数字是64位浮点值,最大的精确整数值是253。

JS中的最大数字是9007199254740992,如果要打印,请放入其中qoute@willemDhaeseleer如果数字超过最大数字…是否有其他方法显示该数字。请观看本演讲,它将告诉你所有你需要知道的关于IEEE754数字实现。程序员必须注意的一点,真的:Bartek Szopka:关于JavaScript数字,你从来都不想知道的一切——JSConf EU 2013;Try:alert(“9999999999999”);这可能会奏效。不知道为什么这不起作用,因为它应该起作用!在使用javascript时,您会注意到,有些事情确实很奇怪。当我不得不说出我脑海中的原因时,我认为这是javascript本身的编译错误。可能是因为整数的数字太大了,以及对施法的误解。谢谢你的建议。