Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.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中相等?_Javascript - Fatal编程技术网

为什么这两个变量在JavaScript中相等?

为什么这两个变量在JavaScript中相等?,javascript,Javascript,我像这样声明了两个变量,并试图像这样比较它们 var x = 9999999999999999; var y = 10000000000000000; x == y //returns true 这种行为的原因是什么?请查看: “Javascript没有整数,只有64位浮点-并且您已经用完了浮点精度。” 感谢Kos成员。问题相当于“为什么99999999999999四舍五入到1000000000000000”(检查JS控制台)。是的,只是将其重新定义为这样。我观察了你提到的行为。为什么:

我像这样声明了两个变量,并试图像这样比较它们

var x  = 9999999999999999;
var y  = 10000000000000000;
x == y //returns true
这种行为的原因是什么?

请查看:

“Javascript没有整数,只有64位浮点-并且您已经用完了浮点精度。”


感谢Kos成员。

问题相当于“为什么
99999999999999
四舍五入到
1000000000000000
”(检查JS控制台)。是的,只是将其重新定义为这样。我观察了你提到的行为。为什么:0.3-0.1=0.1999999999998值得一读: