提示两个数字的总和

时间:2014-03-28 05:35:17

标签: javascript sum prompt

我在过去几天一直试图解决这个问题:当我通过提示减去,乘以或除2输入数字时,一切正常;但是当我想要添加它们时,我只能将两个数字简单地写在一起。

示例:如果我添加5和6,我得到56 !!

这是我正在使用的代码。

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

alert(a + b);

我做错了什么?我是否必须指定值类型?

8 个答案:

答案 0 :(得分:7)

函数prompt返回一个字符串,+(不明智地)用于 字符串连接和数字添加。

您没有在JavaScript中“指定类型”,但可以在运行时执行字符串到数字转换。有很多方法可以做到这一点。最简单的是:

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

但你也可以

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

(避免parseInt,因为它只处理前导字符,不会添加4.5和2.6之类的数字。)

答案 1 :(得分:0)

问题是JavaScript的输入是松散的。所以,它并不知道" 5"实际上,因为你从提示中收到的所有东西都是String。

你可以这样做:

var a = prompt("1st") * 1;
var b = prompt("2nd") * 1;

alert (a + b);

这是有效的,因为*运算符强制所有内容都像数字一样。

答案 2 :(得分:0)

您正在使用连接操作而不是算术运算符。

在上面的代码中:

alert(a + b);

您的浏览器编译器会将其视为连接。所以它结合了两个字符串。这就是你得到那个输出的原因。

答案 3 :(得分:0)

当你输入var a和var b时,变量可能是设置字符串(字符)而不是整数。

因此,当您使用a + b时,您可以将这些字符放在一起。

为了确保您输入的值保存为整数,您可以使用

parseInt()

例如:var a = parseInt( prompt("Enter first number") );

答案 4 :(得分:0)

试试这个,

var a = prompt("Enter first number");
var b = prompt("Enter second number");
var x=parseInt(a);
var y=parseInt(b);

alert(x+y);

答案 5 :(得分:0)

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

你在提示之前使用parseInt,因为如果你使用parseInt作为数字,它将作为字符串的输入。

答案 6 :(得分:0)

1)函数 prompt 返回一个字符串,'+'(不明智地,可能)用于字符串连接和数字添加。

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

2.)一些开发人员在提示之前使用parseInt,但这不是很好的方法因为不添加像5.2,9.99等浮动数字

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

最好的方式 您可以使用其他不同的方法在提示符之前的提示框中添加数字Number

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

JavaScript松散耦合。

答案 7 :(得分:0)

using Microsoft.WindowsAzure.Storage;

这也可以将字符串转换为数字并发出警报。