哪个更大?!我的 js 代码中的一个问题

Posted

技术标签:

【中文标题】哪个更大?!我的 js 代码中的一个问题【英文标题】:which one is bigger?! a problem in my js code 【发布时间】:2021-12-05 11:42:29 【问题描述】:

我写了一个js代码来判断哪个数字更大但是结果并不完美!当我输入两个具有相同数字的数字时,结果是正确的。例如,当我输入“2”和“3”时,结果为“3”,但当我在第一个字段中输入“2”,在第二个字段中输入“55”时,结果为“2”。 提前谢谢你。 对不起我的英语不好。

    
function biggerOne() 
    var x = document.getElementById("firstNumber").value;
    var y = document.getElementById("secondNumber").value;
  
    if (x>y)     document.getElementById("Result").innerhtml=x;
    
      else 
    
    document.getElementById("Result").innerHTML=y;
        
       
    
<!DOCTYPE html>
<head>
    <script src="show bigger.js"></script>
</head>
<body>
    <p>insert first number</p>
    <input type="number" id="firstNumber" ر>
    <p> insert second number</p>
    <input type="number" id="secondNumber">
    <button onclick="biggerOne()"> result </button>
    <!---it is so important to insert value in the below code line-->
    <p id="Result" value=""></p>


</body>

【问题讨论】:

你要转换成number类型,使用parseInt 当我写 2 和 55 时,输出是 55。当我写 2 和 11 时,输出虽然是 2 【参考方案1】:

Document.getElementById() 返回“String”类型的值,两个字符串之间的比较会有所不同。最好将这些字符串类型转换为整数。

var x = document.getElementById("firstNumber").value;
var y = document.getElementById("secondNumber").value;

if (parseInt(x) > parseInt(y))
     
  document.getElementById("Result").innerHTML=x;
 
else 

  document.getElementById("Result").innerHTML=y;

【讨论】:

【参考方案2】:

将 x 和 y 的类型更改为数字,然后尝试比较。对于转换,您可以使用 Number 或 parsint

if (Number(x) > Number(Y))
//some code
else
//some code

【讨论】:

【参考方案3】:

<!DOCTYPE html>

<head>
  <script src="show bigger.js"></script>
</head>

<body>
  <p>insert first number</p>
  <input type="number" id="firstNumber" ر>
  <p> insert second number</p>
  <input type="number" id="secondNumber">
  <button onclick="biggerOne()"> result </button>
  <!---it is so important to insert value in the below code line-->
  <p id="Result" value=""></p>
  <script>
    function biggerOne() 
      var x = document.getElementById("firstNumber").value;
      var y = document.getElementById("secondNumber").value;
      if (parseInt(x) > parseInt(y)) 
        document.getElementById("Result").innerHTML = x;

       else 

        document.getElementById("Result").innerHTML = y;
      

    
  </script>

</body>

使用 parseInt 方法。

【讨论】:

以上是关于哪个更大?!我的 js 代码中的一个问题的主要内容,如果未能解决你的问题,请参考以下文章

造一个Vue(react,angular)和echarts的轮子,从纯技术角度看哪个难度更大?

检查函数调用中哪个数字更大--vb.net

算法:有没有解决比较的好方法?

你如何使css中悬停的区域更大

比较字符串中的数字

输入标签更大的尺寸和输入标签中的文本垂直居中