javascript - 在 JavaScript 中比较表单中的两个数字

标签 javascript comparison

当我尝试比较不同的数字时,数字发生了变化,但文本部分保持不变。这只发生在较大/较小的情况下,而不会发生在 NaN 或相等的情况下。

这是我的代码:

function check() {
    var a = document.getElementById("a").value;
    var b = document.getElementById("b").value;
    
    if (isNaN(a) || isNaN(b) === true) {
        document.getElementById("result").innerHTML = "It's not a number";
    } else {
        if (a > b) {
            document.getElementById("result").innerHTML = "Number " + a + " is greater than number " + b;
        } else if (a == b) {
            document.getElementById("result").innerHTML = "number " + a + " is equal to number " + b;
        } else if (a < b) {
            document.getElementById("result").innerHTML = "number " + a + " is lesser than  number " + b;
        }
    }
}
body {
    background-color: black;
    color: white;
    font-size: 28px;
}
<!DOCTYPE HTML>
<html lang="pl">
    
<head>
    <meta charset="utf-8">
    <title>Check the value of a number compared to the second number</title>
    <script type="text/javascript" src="sprawdzanie.js"></script>
    <link href="style.css" rel="stylesheet">
</head>

<body>

    <input id="a" type="text">
    <input id="b" type="text">
    <input value="Check" type="submit" onclick="check()">
    


    <div id="result"></div>

</body>
    
    
</html>

最佳答案

ab都是字符串。如果您想像数字一样比较它们,请在执行比较之前对它们使用 parseInt()parseFloat()

因此,在 if 语句之前:

a = parseInt(a);
b = parseInt(b);

关于javascript - 在 JavaScript 中比较表单中的两个数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50822981/

相关文章:

javascript - AngularJS 无法从 Bootstrap 模式窗口传递 $index

javascript - 不允许替换包含奇数个引号的匹配项

用于自由文本差异的 Java 库

c++ - C++检查两个元素是否有共同元素

javascript - 使用 jquery 打开后对话框自动关闭

javascript - 在特定文本后添加内联图像

javascript - jQuery,在动画期间禁用悬停功能

c# - 在 C#2.0 中比较字符串与字符串数组的最快方法

ios - 如何对 NSArray 中的两个不同对象进行排序?

file - Winmerge-比较2个文件时不显示相同线条的方法?