如果比较整数和浮点数的条件不起作用

时间:2012-10-31 08:55:02

标签: javascript integer

我在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

感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

实际上,我怀疑它们都是字符串。当然,calculatedQty是从输入字段的value检索到的,value属性的值始终是字符串。使用parseInt和/或parseFloat,这样您就可以比较数字而非字符串。

考虑:

console.log("1.0" > "1"); // "true"
console.log(1.0 > 1);     // "false"