我正在使用此代码
if(total == balance)
{
alert("test ok");
}
else
{
alert("test failed");
}
此处为total=10;
和balance=10.00;
但结果为"测试失败"。
答案 0 :(得分:0)
嗯......我可能不完全正确,但我认为总数是一个整数,余额是十进制。尝试===
函数而不是==
函数。
===
函数转换值,然后检查它们。
因此,根据值是0还是1来检查值是true
还是false
,需要===
运算符将两者都转换为相同类型的值。
==
函数只是通过查看它的当前值来检查两个值是否相等。没有转换。因此,如果我想检查两个int
值的值,我将使用==
。
有两种方法可以解决这个问题。
一种方法是将总数改为十进制,给它一个带小数的10.00,或者将余额改为一个int,给它一个值10,不带小数位。
另一个是更好的一个,您只需要用==
替换===
。所以你的代码看起来像这样:
if (total === balance) {
window.alert("test ok");
} else {
window.alert("test failed");
}