javascript - 为什么javascript比较号不正确?

标签 javascript

为什么 javascript 比较号不正确?

很简单,但为什么不正确(alert false)?

<script>
  var xxx = "112.77";
  alert(xxx);
  if(xxx < '2.50')
  {
      alert("false");     
  }
  else
  {
      alert("true");          
  }
</script>

https://jsfiddle.net/sp82ehqp/

最佳答案

您可以使用 unary + 将至少一个转换为数字然后比较。

字符串按字符比较。

如您所见,如果其中一个值是数字,则按数字进行比较。

var xxx = "112.77";
console.log(xxx);
console.log(xxx < '2.50');   // true
console.log(+xxx < +'2.50'); // false
console.log(xxx < +'2.50');  // false
console.log(+xxx < '2.50');  // false

关于javascript - 为什么javascript比较号不正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43732523/

相关文章:

javascript - 什么时候应该在 Typescript 中显式添加类型注释?

javascript - 在 Yesod 项目中的哪里包含静态 javascript?

javascript - 不遍历整个响应 JSON

告诉视频从一秒而不是零开始的 JavaScript

javascript - 缩放也算作窗口大小调整吗?

javascript - 无法请求使用 JQuery 将 GET API 部署到本地 Tomcat 服务器?

javascript - Three.js 根据坐标定位对象

javascript - node.js 集群客户端能否在 fork 环境中接收深层对象或数组?

javascript - jquery链淡入淡出方法不起作用

javascript - 如何使用 knockout 将文本附加到表 tr