javascript如果数字大于数字

Jak*_*mpo 22 javascript forms

我有这个javascript函数来验证数字是否大于另一个数字

function validateForm() {
    var x = document.forms["frmOrder"]["txtTotal"].value;
    var y = document.forms["frmOrder"]["totalpoints"].value;

    if (x > y) {
        alert("Sorry, you don't have enough points");
        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

由于某种原因它不起作用.

如果我这样做,alert(x)我得到1300,并alert(y)给出999

这有效......

function validateForm() {
    var x = 1300;
    var y = 999;

    if (x > y) {
        alert("Sorry, you don't have enough points");
        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

xda*_*azz 55

您应该在比较之前将它们转换为数字.

尝试:

if (+x > +y) {
  //...
}
Run Code Online (Sandbox Code Playgroud)

要么

if (Number(x) > Number(y)) {
  // ...
}
Run Code Online (Sandbox Code Playgroud)

注意: parseFloatpareseInt(对于比较整数,你需要指定基数)将为你NaN提供一个空字符串,与NaN将永远比较false,如果你不想处理空字符串0,那么你可以使用它们.