Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果比较整数和浮点的条件不起作用_Javascript_Integer - Fatal编程技术网

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

Javascript 如果比较整数和浮点的条件不起作用,javascript,integer,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 mus

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

谢谢你的帮助

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

考虑:

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

考虑用“代码>数字(SeaValue)< /Cyto> .xYu创建数字:只有当用户键入奇怪的东西时,您想要奇特的结果。”code>parseInt和
parseFloat
通常是解析最终用户输入的更好选择。您可以随时检查
isNaN(number)
@xyu:以及用户是否键入
“010”
?如果您使用
Number()
(错误地应用了八进制),一些较旧的浏览器会将其解释为8。而
parseInt(“010”,10)
parseFloat(“010”)
总是返回
10
。由于
Number
没有优势,也没有潜在的劣势,所以我认为没有赞成的理由。但你喜欢什么都行。谢谢,谢谢!但我已经测试过了,它的工作也很好!但当用户输入actualQty=1和calculatedQty=1.0时,我面临的主要问题是;否则,如果输入的实际数量为1.5或大于1.0,则其工作正常。