Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript中的parseInt行为_Javascript_Parsing - Fatal编程技术网

Javascript中的parseInt行为

Javascript中的parseInt行为,javascript,parsing,Javascript,Parsing,例如,我打开终端浏览器Chrome 我这样写: var y = "11000011010101011"; 11000011010101011 11000011010101012 我期望11000011010101011,但它返回我11000011010101012 有人知道为什么吗?Javascript中的每个数字都表示为一个数字。JavaScript最多只能精确表示9007199254740991 2^53-1的整数。一旦超过这个限制,就会失去精度。Javascript中的每个数字都表示为一

例如,我打开终端浏览器Chrome

我这样写:

var y = "11000011010101011";
11000011010101011

11000011010101012

我期望11000011010101011,但它返回我11000011010101012


有人知道为什么吗?

Javascript中的每个数字都表示为一个数字。JavaScript最多只能精确表示9007199254740991 2^53-1的整数。一旦超过这个限制,就会失去精度。

Javascript中的每个数字都表示为一个数字。JavaScript最多只能精确表示9007199254740991 2^53-1的整数。一旦超过该限制,就会失去精度。

javascript中只有9007199254740991是安全整数。 这是一个类似的例子

9007199254740992 + 1 // 9007199254740992
9007199254740993 + 1 // 9007199254740992
9007199254740994 + 1 //9007199254740996
请查看链接以了解更多详细信息

也看到这个了吗 这是一些简单的问题,请参见其原始版本,在javascript中只有9007199254740991是安全整数。 这是一个类似的例子

9007199254740992 + 1 // 9007199254740992
9007199254740993 + 1 // 9007199254740992
9007199254740994 + 1 //9007199254740996
请查看链接以了解更多详细信息

也看到这个了吗 这是一些简单的问题,请参见第页的原始问题

Javascript中的所有数字都是64位浮点数,整数由53位mantisa表示。 因此,存储大于2^53-1且小于-2^53+1的整数时,如果不丢失精度,则无法存储该数字

您的号码大于2^53-1。即使字符串可以存储它,但为了将其存储在数字变量中,必须对其进行舍入,从而失去精度并返回一个稍有不同的数字。

根据第页的说明

Javascript中的所有数字都是64位浮点数,整数由53位mantisa表示。 因此,存储大于2^53-1且小于-2^53+1的整数时,如果不丢失精度,则无法存储该数字


您的号码大于2^53-1。即使字符串可以存储它,但为了将其存储在数字变量中,必须对其进行四舍五入,从而失去精度并返回一个稍有不同的数字。

我猜您的数字太大了。读一读:我想你的数字太大了。读一下:Aka.Aka。