Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.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_Html_Floating Point_Integer - Fatal编程技术网

javascript中匹配的浮点值和字符串值不匹配

javascript中匹配的浮点值和字符串值不匹配,javascript,html,floating-point,integer,Javascript,Html,Floating Point,Integer,我正在使用这个代码 if(total == balance) { alert("test ok"); } else { alert("test failed"); } 此处total=10和余额=10.00但结果是“测试失败”。嗯。。。我可能不完全正确,但我认为total是一个整数,balance是一个小数。尝试使用==功能,而不是=功能 ==函数转换值,然后检查它们。 因此,根据值是0还是1来检查值是true还是false,需要=运算符将两者转换为相同类型的值 而==函数只是通过查看两个值的

我正在使用这个代码

if(total == balance)
{
alert("test ok");
}
else
{
alert("test failed");
}

此处
total=10
余额=10.00但结果是“测试失败”。

嗯。。。我可能不完全正确,但我认为total是一个整数,balance是一个小数。尝试使用
==
功能,而不是
=
功能

==
函数转换值,然后检查它们。 因此,根据值是0还是1来检查值是
true
还是
false
,需要
=
运算符将两者转换为相同类型的值

==
函数只是通过查看两个值的当前值来检查两个值是否相等。没有转换。因此,如果我想检查两个
int
值的值,我将使用
=

有两种方法可以解决这个问题

一种方法是将总数改为小数点,给它一个带小数点的值10.00,或者将余额改为整数,给它一个不带小数点的值10

另一个是更好的,您只需将
==
替换为
==
。因此,您的代码如下所示:

if (total === balance) {
    window.alert("test ok");
} else {
    window.alert("test failed");
}

嗯。。。我可能不完全正确,但我认为total是一个整数,balance是一个小数。尝试使用
==
功能,而不是
=
功能

==
函数转换值,然后检查它们。 因此,根据值是0还是1来检查值是
true
还是
false
,需要
=
运算符将两者转换为相同类型的值

==
函数只是通过查看两个值的当前值来检查两个值是否相等。没有转换。因此,如果我想检查两个
int
值的值,我将使用
=

有两种方法可以解决这个问题

一种方法是将总数改为小数点,给它一个带小数点的值10.00,或者将余额改为整数,给它一个不带小数点的值10

另一个是更好的,您只需将
==
替换为
==
。因此,您的代码如下所示:

if (total === balance) {
    window.alert("test ok");
} else {
    window.alert("test failed");
}

余额==10.00
-我肯定不是。它要么像
10.000000000001
或者
“10.00”
。在赋值时需要这样做吗???我们需要查看变量赋值。很好,这就是vars@georg的确切定义:
“10.00”
应该没有问题,假设
total
是一个数字。
balance==10.00
-我肯定不是。它要么像
10.000000000001
或者
“10.00”
。在赋值时需要这样做吗???我们需要查看变量赋值。很好,这就是vars@georg的确切定义:
“10.00”
应该没有问题,假设
total
是一个数字,我在这里使用一个函数调用,其中包含getValue1()、getValue2()和new_value=getValue1();old_value=getValue2();总计=新值+旧值;这里可能存在任何类型转换问题。然后尝试float.parse()-调用所有值,可能吗?我在这里使用一个函数调用,其中包含getValue1()、getValue2()和new_value=getValue1();old_value=getValue2();总计=新值+旧值;在这里,任何类型转换问题都是可能的。然后尝试float.parse()?