在javascript中匹配float和string值不匹配

时间:2015-08-07 12:17:42

标签: javascript html floating-point integer

我正在使用此代码

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

此处为total=10;balance=10.00;但结果为"测试失败"。

1 个答案:

答案 0 :(得分:0)

嗯......我可能不完全正确,但我认为总数是一个整数,余额是十进制。尝试===函数而不是==函数。

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

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

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

一种方法是将总数改为十进制,给它一个带小数的10.00,或者将余额改为一个int,给它一个值10,不带小数位。

另一个是更好的一个,您只需要用==替换===。所以你的代码看起来像这样:

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