JS,加法的时候数值加数值变成字符串?

JS,加法的时候数值加数值变成字符串?

错误描述:在这里插入图片描述
两个数字相加输出结果是两个字符串相加;
错误原因
这是由于JS中+、+= 运算符既是算术运算符,也是字符串的连接符
+的运算规则是:如果把数字与字符串相加,结果将成为字符串
解决方法
Number() 函数把对象的值转换为数字。如果对象的值无法转换为数字,那么 Number() 函数返回 NaN
通过Number()函数,可将数值型的字符串转换为数字,然后进行数值加减运算即可



var num1=100;
var num2="10";
console.log(num1+num2);   //结果10010
console.log(typeof (num1+num2)) ; //类型string

var num3=true;
var num4="10";
console.log(num3+num4);   //结果true10
console.log(typeof (num3+num4))  //类型string
    
//减号可以正常计算

var num5=100;
var num6="10";
console.log(num5-num6);   //结果90
console.log(typeof (num5-num6)) ; //类型number

var num7=100;
var num8="abc";
console.log(num7-num8);   //结果nan
console.log(typeof (num7-num8)) ; //类型number


  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 可以使用`isNaN`函数来判断输入值是否为数字,如果不是,就提示用户重新输入。以下是一个简单的示例代码: ```javascript let num1, num2; do { num1 = prompt("请输入第一个数字:"); } while (isNaN(num1)); do { num2 = prompt("请输入第二个数字:"); } while (isNaN(num2)); const result = Number(num1) + Number(num2); alert(`计算结果为:${result}`); ``` 在这个示例中,使用了`do...while`循环来不断提示用户输入数字,直到输入的值为数字为止。`isNaN`函数用于检查输入值是否为数字,如果是数字则返回`false`,否则返回`true`。而`Number`函数则用于将输入值转换为数字类型。最终计算出结果并使用`alert`函数将结果显示给用户。 ### 回答2: 简单加法器(JS)是一个用于计算两个数值相加的程序。但是如果用户输入的值不是数值型,我们需要提示用户重新输入。 在JS中,我们可以使用 parseInt() 函数来将用户输入的字符串转换为整数。如果用户输入的值无法被转换为整数,parseInt() 函数会返回 NaN(非数值)。因此,我们可以使用 isNaN() 函数来判断用户输入的值是否为数值型。 下面是一个基于JS的简单加法器的伪代码,可以实现输入值不是数值型时重新输入的功能: ```javascript function addition() { let num1 = parseInt(prompt("请输入第一个数字:")); let num2 = parseInt(prompt("请输入第二个数字:")); // 判断用户输入的两个值是否都为数值型 if (isNaN(num1) || isNaN(num2)) { alert("输入值不是数值型,请重新输入!"); // 重新调用 addition() 函数 addition(); } else { // 计算两个数的和并输出结果 let sum = num1 + num2; console.log("两个数的和是:" + sum); } } // 调用 addition() 函数开始计算 addition(); ``` 在上述代码中,我们使用了递归的方式,在用户输入值不是数值型时重新调用 addition() 函数,直到用户输入的值都为数值型为止。 以上就是一个简单加法器(JS)当输入值不是数值型时重新输入的回答,希望对您有帮助! ### 回答3: 简单加法器(JS)是一个用来执行加法运算的程序。如果输入值不是数值型,我们需要提示用户重新输入正确的数值。 我们可以通过JS的内置函数parseFloat()来将输入值转换为数值类型。首先,我们需要获取用户的输入值并存储在一个变量中。然后,我们使用parseFloat()函数将这个变量的值转换为数值类型。 接下来,我们可以使用isNaN()函数来判断转换后的值是否是一个数值。isNaN()函数会返回一个布尔值,如果值是NaN(不是一个数值)则返回true,否则返回false。 如果输入值是一个数值,则我们可以继续执行加法运算。如果输入值不是一个数值,则说明用户输入了无效的值。在这种情况下,我们可以使用一个循环来提示用户重新输入数值,直到输入的值是一个数值为止。 下面是一个简单的例子,说明如何实现上述功能: ```javascript let inputValue; let number; do { inputValue = prompt("请输入一个数值"); number = parseFloat(inputValue); } while (isNaN(number)); alert("您输入的数值是:" + number); // 在这里执行加法运算 ``` 在这个例子中,我们使用了一个do-while循环来不断提示用户输入数值,直到输入的值是一个数值类型为止。一旦输入的值是一个数值,循环就会停止执行,并将数值存储在变量number中。 然后我们可以继续执行加法运算的代码。根据实际需求,你可以编写适合你的加法运算代码。这就是如何使用JS实现简单加法器,并在输入值不是数值型时要求用户重新输入的方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值