我有一个表单,用户在其中填写一个数字,然后将该表单的值与其旁边的测量值进行比较。在这种情况下,每当我输入数字 1 时,它看起来都没有被读取,并且一直给我错误的结果。无论是 1、10、111 还是 1111000,输出都将始终为 false。
这是代码片段:
var elC4 = document.getElementById("elC4");
elC4.addEventListener("focusout", function () {
var elE4 = document.getElementById("elE4");
var val = elD4.value;
var result = val.match(/\d/g);
result = result.join("");
console.log(elC4.value);
console.log(result);
console.log(elC4.value > result);
if (elC4.value > result) {
elE4.value = "Tidak Memenuhi";
} else {
elE4.value = "Memenuhi";
}
});
控制台.log:
我圈出的行是有问题的行,其他行具有类似的功能并且工作正常。
那么到底出了什么问题呢?
最佳答案
我认为您正在比较 2 个字符串。因此,结果不正确。
"10" > "2" ==> result is false
我建议这样比较:
+"10" > +"2" ==> result will be true ( in this case: +elC4.value > +result )
希望这对你有帮助,兄弟!
关于Javascript 比较数字给出错误答案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59296601/