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

Matching float and string value in javascript not matched

我正在使用这个代码

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

这里 total=10;balance=10.00; 但结果是 "test failed".

嗯...我可能不完全正确,但我认为总计是整数,余额是小数。尝试 === 函数而不是 == 函数。

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

== 函数只是检查两个值是否相等,只需查看它的现值即可。没有转换。所以如果我想检查两个 int 值的值,我将使用 ==.

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

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

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

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