4

我在 javascript 中使用一个 If 条件,

var iid = "c_poqty_"+itemid;
var calculatedQuantity = document.getElementById(iid).value;

if(! isNaN(actualQuantity)) {
    if(actualQuantity >= calculatedQuantity) {
        return true;
    } else {
        alert("You must enter the order qty same or greater than the calculated PO Qty");
        document.getElementById(iid).focus();
        return false;
    }
} else {
    alert("Please Enter valid number");
    document.getElementById(iid).focus();
    return false;
}

在这里,calculatedQuantity总是浮点数,虽然actualQuantity可以是整数,但我有一个测试用例:

calculatedQuantity = 1.0
actualQuantity = 1

感谢您的帮助!

4

1 回答 1

3

实际上,我怀疑它们都是strings。当然calculatedQty是,因为您从value输入字段中检索到它,并且该value属性的值始终是一个字符串。使用parseInt和/或parseFloat你正在比较数字而不是字符串。

考虑:

console.log("1.0" > "1"); // "true"
console.log(1.0 > 1);     // "false"
于 2012-10-31T08:56:47.350 回答