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");
}
我正在使用这个代码
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");
}