为什么类似的数字会加上不正确的总数,以及为什么减,乘,除是正确的

时间:2018-07-01 05:25:06

标签: javascript

我写

var a= prompt("Please enter a number")
var b= prompt("Please enter a number")

我在框中输入了7&7,但是为什么a + b的总和是77?我只希望总数是14,而不是77。我 无法理解为什么类似的数字会加上不正确的总数,以及为什么减去和乘除是正确的。

3 个答案:

答案 0 :(得分:2)

当用户单击prompt时,从OK返回一个字符串,如果单击null,则返回cancel。因此,两个字符串“ 7” +“ 7”的串联为“ 77”。使用parseIntNumber构造函数将字符串转换为数字,然后再进行加法运算

var a = prompt("Please enter a number");
var b = prompt("Please enter a number");
console.log(typeof a, typeof b)

let sum = parseInt(a, 10) + parseInt(b, 10);
console.log(sum)

答案 1 :(得分:0)

var a = Number(prompt("Enter first number"));
var b = Number(prompt("Enter second number"));
alert(a + b);

注意:避免使用parseInt,因为它仅处理前导字符,并且不会添加浮点数,例如6.8和3.5。

答案 2 :(得分:0)

ab是字符串,而string + string正在串联2个字符串,并且未添加值。

将字符串转换为数字的一种快速方法是在字符串之前添加+(在这种情况下,在prompt之前)

赞:

var a = +prompt("Please enter a number");
var b = +prompt("Please enter a number");

var sum = a + b;

console.log(sum);