尝试使用函数在javascript中添加三个数字,但不添加它们而只是将它们写为一个数字

时间:2017-04-22 18:59:50

标签: javascript function addition

尝试使用函数在javascript中添加三个数字但不添加它们而只是将它们写为一个数字

function numinput(a,b,c,res){
a = prompt("Enter first number");
    b = prompt("Enter second number");
    c =  prompt("Enter third number");

    res = a + b + c ;
    alert (res);
}  

numinput();

4 个答案:

答案 0 :(得分:1)

使用

将值转换为数字
  

parseInt函数

。这是一个有效的解决方案。

function numinput(a,b,c,res){
        a = parseInt(prompt("Enter first number"), 10);
        b = parseInt(prompt("Enter second number"), 10);
        c = parseInt(prompt("Enter third number"), 10);

        res = a + b + c ;
        alert (res);
    }

    numinput();

答案 1 :(得分:1)

prompt返回string。您需要先将字符串转换为数字,否则您将连接字符串:'5' + '7' === '57'

以下是实现此目标的一些方法:

1 - 使用Number

Number('5');

2 - 使用parseIntparseFloat

parseInt('20', 10);
parseFloat('5.5');

3 - 一元+运营商解释其他答案

+'5'

工作演示:

function numinput() {
    var a = prompt("Enter first number"),
        b = prompt("Enter second number"),
        c = prompt("Enter third number"),
        res = Number(a) + Number(b) + Number(c);
      
    alert(res);
}

numinput();

答案 2 :(得分:0)

每个用户条目都是typeof string,它被连接成一个整体string。如果要将每个元素添加为Math操作,请使用变量前面的+符号将条目解析为数字,或使用parseInt函数对其进行解析。

function numinput(a, b, c, res) {
  a = prompt("Enter first number");
  b = prompt("Enter second number");
  c = prompt("Enter third number");

  res = +a + +b + +c;
  alert(res);
}

numinput();

答案 3 :(得分:0)

您需要将每个值(字符串)转换为带有一元+的数字。

然后我建议将变量声明移动到函数中而不是函数的参数内部,因为你不需要这样做,而是在函数内部分配值。

function numinput() {
    var a = +prompt("Enter first number"),
        b = +prompt("Enter second number"),
        c = +prompt("Enter third number"),
        res = a + b + c;
      
    alert(res);
}

numinput();