在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);
}
}
答案 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 );
还允许分数,并且不喜欢垃圾。