为了账号安全,请及时绑定邮箱和手机立即绑定

将 javascript 中的 2 个数字与 parseint 进行比较

将 javascript 中的 2 个数字与 parseint 进行比较

凤凰求蛊 2022-07-15 10:22:31
我试图在 num1 和 num2 之间进行比较:<form>    <input placehoder="num1" type="text" id="num1"/>    <input placehoder="num1" type="text" id="num2"/>    <button type="button" id="comparar">Compara</button></form>问题是,直到我发现要声明输入将是带有let num1 = parseInt(document.getElementById("num1").value);系统工作的命令的数字,但有时它没有显示正确的警报。let compare = document.getElementById("comparar");function comparator(){    let num1 = parseInt(document.getElementById("num1").value);    let num2 = parseInt(document.getElementById("num2").value);    if ( num1 > num2){            alert('num1 higher');    }else if(num1 == num2){        alert('are equal');    }    else{        alert('num2 higher')    }}compare.addEventListener('click', comparator);有谁知道为什么不使用 parseInt 比较两个数字时会显示随机结果?,基本上它在比较什么?谢谢
查看完整描述

4 回答

?
慕尼黑8549860

TA贡献1818条经验 获得超11个赞

您应该validate在比较之前将 number1 和 number2 设置type="number"为输入

示例parseInt("1a")返回 1

如果输入 1a 和 1,则显示相等。


查看完整回答
反对 回复 2022-07-15
?
皈依舞

TA贡献1851条经验 获得超3个赞

如果没有 parseInt,您将比较两个“字符串”而不是两个“int”。

它不是随机的,它按 1、2、3、... 的顺序取数字,你会得到类似的结果:"2" > "10" ==> true


查看完整回答
反对 回复 2022-07-15
?
慕雪6442864

TA贡献1812条经验 获得超5个赞

如果不使用 parseInt,您将比较两个字符串。在 JavaScript 中,字符串按字母顺序与首字母进行比较,例如:“banana” > “apple” 将返回 true。如果第一个字母相等,则比较第二个字母,依此类推。大写字母优先于小写字母。



查看完整回答
反对 回复 2022-07-15
?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

表单中的输入是字符串对象。在由数字组成的字符串对象上调用 parsInt 会将其转换为数字对象。


您可以使用 typeof 方法来检查类型。像这样:


var num1 = "1"

var num2 = 1


console.log(typeof(num1)) // Output -> string

console.log(typeof(num2)) // Output -> number

在此示例中,num1 是字符串对象,而 num2 是数字对象,即使它们具有相同的数字。


查看完整回答
反对 回复 2022-07-15
  • 4 回答
  • 0 关注
  • 133 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信