4

javascript で If 条件を 1 つ使用しています。

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は、常に float で、whileactualQuantityは整数にすることができます。テストケースが 1 つあります。

calculatedQuantity = 1.0
actualQuantity = 1

あなたの助けに感謝します!

4

1 に答える 1

3

実際には、両方ともstringであると思われます。確かに、入力フィールドcalculatedQtyから取得したように、プロパティの値は常に文字列です。and/or so を使用して、文字列ではなく数値を比較します。valuevalueparseIntparseFloat

検討:

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