添加运算符不在JavaScript中工作

时间:2014-01-07 01:27:43

标签: javascript variables operators addition

在Javascript中,添加运算符对我不起作用。如果我做5 + 5,它给我55而不是10.我该如何解决这个问题?

var numberOne = prompt (Enter first number.);
if (numberOne > 0.00001) {
 var numberTwo = prompt(Enter the second number.);
if (numberTwo > 0.00001) {
var alertAnswer = alert (numberOne + numberTwo);
}
}

4 个答案:

答案 0 :(得分:4)

你正在阅读字符串,并将它们连接起来。您需要将它们转换为parseInt的整数。

IE:

var numberOne = parseInt(prompt("Enter first number."), 10);

答案 1 :(得分:0)

需要进行两项主要更改。首先,提示必须使用String s。其次,您必须将用户的String输入解析为数字。

var numberOne = prompt ("Enter first number.");
if (numberOne > 0.00001) {
     var numberTwo = prompt("Enter the second number.");
if (numberTwo > 0.00001) {
    var alertAnswer = alert (parseInt(numberOne,10) + parseInt(numberTwo,10));
}

答案 2 :(得分:0)

你需要使用parseInt

,如

 var a = parseInt(prompt("Please enter a number")); 

答案 3 :(得分:0)

仅为了完整性:parseInt()(在某些情况下)的潜在问题是它接受数字字符串的 end 处的垃圾。也就是说,如果我输入“123abc”,parseInt()将很乐意返回123作为结果。当然,它只是处理整数 - 如果你需要浮点数(带小数部分的数字),你需要parseFloat()

另一种方法是将一元+运算符应用于字符串:

 var numeric = + someString;

这会将字符串解释为浮点数,并且注意尾随垃圾并生成NaN结果(如果存在)。另一种类似的方法是使用按位“或”运算符|0

var numeric = someString | 0;

它给你一个整数(32位)。最后,有Number构造函数:

var numeric = Number( someString );

还允许分数,并且不喜欢垃圾。