加性操作符(加法+,减法-)

本文详细介绍了在编程中加法与减法运算的基本规则,包括数字与字符串的处理方式,以及特殊值如Infinity和NaN的情况。对于理解基本算术运算及避免常见错误非常有帮助。

1.加法:加法操作符(+)用法如下:

  • 某个运算数是 NaN,那么结果为 NaN。
  • -Infinity 加 -Infinity,结果为 -Infinity。
  • Infinity 加 -Infinity,结果为 NaN。
  • +0 加 +0,结果为 +0。
  • -0 加 +0,结果为 +0。
  • -0 加 -0,结果为 -0。

         不过,如果某个运算数是字符串,那么采用下列规则:

  • 如果两个运算数都是字符串,把第二个字符串连接到第一个上。
  • 如果只有一个运算数是字符串,把另一个运算数转换成字符串,结果是两个字符串连接成的字符串。
2.减性:减法操作符(-)用法如下:

  • 某个运算数是 NaN,那么结果为 NaN。
  • Infinity 减 Infinity,结果为 NaN。
  • -Infinity 减 -Infinity,结果为 NaN。
  • Infinity 减 -Infinity,结果为 Infinity。
  • -Infinity 减 Infinity,结果为 -Infinity。
  • +0 减 +0,结果为 +0。
  • -0 减 -0,结果为 -0。
  • +0 减 -0,结果为 +0。
  • 某个运算符不是数字,那么结果为 NaN。

注释:如果运算数都是数字,那么执行常规的减法运算,并返回结果。


<think> 我们使用JavaScript的prompt方法依次弹出三个输入框,分别获取两个数字和一个操作符。 需要对输入进行合法检查: 1. 数字输入:用户可能输入非数字,我们可以用parseFloat转换,并检查是否为NaN。 2. 操作符:只允许'+', '-', '*', '/'四种,其他则为不合法。 如果输入不合法,则弹出提示并停止计算。 我们将按照以下步骤: 1. 弹出第一个输入框获取第一个数字,检查合法。 2. 弹出第二个输入框获取操作符,检查是否为四种运算符之一。 3. 弹出第三个输入框获取第二个数字,检查合法(注意除法时除数不能为0)。 4. 根据操作符进行运算,并显示结果。 注意:由于prompt返回的是字符串,我们需要将数字字符串转换成数字(使用parseFloat或parseInt,这里用parseFloat以支持小数)。 另外,当除法时除数为0,需要特殊处理。 代码结构如下: let num1 = prompt("请输入第一个数字"); // 检查num1是否为有效数字 let operator = prompt("请输入操作符(+、-、*、/)"); // 检查operator是否合法 let num2 = prompt("请输入第二个数字"); // 检查num2是否为有效数字,如果是除法,检查num2是否为0 然后进行运算并显示结果。 如果任何一步输入不合法,就alert错误信息并终止。 我们使用一个函数来实现: 但注意:连续弹出三个提示框,如果中间有错误,则后续不再弹出。 我们可以逐步检查,一旦有错误就立即alert并退出。 具体代码: </think> 以下是一个实现依次弹出三个输入框进行四则运算的JavaScript代码,包含完善的输入合法检查: ```javascript function calculate() { // 获取第一个数字 const input1 = prompt("请输入第一个数字:"); if (input1 === null) return; // 用户取消输入 const num1 = parseFloat(input1); if (isNaN(num1)) { alert("错误:第一个输入不是有效数字!"); return; } // 获取操作符 const operator = prompt("请输入运算符(+、-、*、/):"); if (operator === null) return; if (!['+', '-', '*', '/'].includes(operator)) { alert("错误:无效运算符!请输入 +、-、* 或 /"); return; } // 获取第二个数字 const input2 = prompt("请输入第二个数字:"); if (input2 === null) return; const num2 = parseFloat(input2); if (isNaN(num2)) { alert("错误:第二个输入不是有效数字!"); return; } // 除法零检查 if (operator === '/' && num2 === 0) { alert("错误:除数不能为零!"); return; } // 执行计算 let result; switch (operator) { case '+': result = num1 + num2; break; case '-': result = num1 - num2; break; case '*': result = num1 * num2; break; case '/': result = num1 / num2; break; } // 显示结果(保留两位小数) alert(`计算结果:${num1} ${operator} ${num2} = ${result.toFixed(2)}`); } // 启动计算器 calculate(); ``` ### 合法检查说明: 1. **数字验证**: - 使用 `parseFloat()` 转换输入 - 通过 `isNaN()` 检测无效数字输入[^2] 2. **操作符验证**: - 仅接受 `+`, `-`, `*`, `/` 四种运算符 - 使用数组方法检查有效[^2] 3. **特殊检查**: - 处理取消输入(`null`检测) - 除法时检查除数不为零 4. **结果格式化**: - 使用 `toFixed(2)` 保留两位小数 - 清晰显示计算表达式和结果 ### 使用示例: 1. 依次输入:`5` → `*` → `3.2` 2. 输出:`计算结果:5 * 3.2 = 16.00` > 提示:在浏览器控制台(F12)直接粘贴此代码即可运行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值