javascript - 如何设置条件来比较 if 语句中的变量值?
问题描述
我想创建一个条件,其中 var UPS >= CURRENT 以及我设置的其他条件。我发现问题是当我将一个变量与另一个变量进行比较时。
var BASE = document.getElementById("Base").value;
var UPS = document.getElementById("Ups").value;
var CURRENT = document.getElementById("Current").value;
var calc = ((UPS-CURRENT)*10);
var result = parseInt(BASE)+parseInt(calc);
if(!isNaN(result) && BASE>0 && UPS>0 && CURRENT>=0 && UPS>=CURRENT)
{
document.getElementById("answer").innerHTML="Calculated Potential: "+result;
}
else
{
document.getElementById("answer").innerHTML="Input valid numbers";
}
我想要它,因此计算不会显示是否有负值以及当前值是否大于 UPS 值
解决方案
您使用字符串类型的变量。在 if 语句中使用之前,您应该将它们转换为数字。最简单的解决方案是:
if(!isNaN(result) && +BASE > 0 && +UPS > 0 && (+CURRENT >= 0 && +UPS >= +CURRENT)){
document.getElementById("answer").innerHTML="Calculated Potential: " +result;
} else {
document.getElementById("answer").innerHTML="Input valid numbers";
}
推荐阅读
- typescript - 如何通过在nest.js中抛出查询来获取
- c# - SSML - 是否可以删除自动中断暂停?
- java - 使用 Mockito 验证空行失败时
- reactjs - 如何测试对 React 钩子的依赖
- airflow - Airflow 使用配置 JSON 中的参数设置 run_id
- google-apps-script - 无法在 chrome 扩展中注册服务人员
- performance - useState 挂钩会影响性能吗?
- nginx - 带有部分 URL 的 Nginx 重定向
- socket.io - 无法从服务器发送到客户端以及从客户端发送到服务器 [Socket.io]
- azure-ad-b2c - 如何仅在用户首次登录时指定自定义策略?