Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript输入数字_Javascript - Fatal编程技术网

Javascript输入数字

Javascript输入数字,javascript,Javascript,如何使用window.prompt从用户那里获取2个数字,并在不串联的情况下将它们相加 我的想法是: var temp = window.prompt("Number1") var temp2 = window.prompt("Number2") var answer = temp + temp2; document.write(answer); 但它只是连接而不是添加 answer = parseInt(temp) + parseInt(temp2); 这就是你要找的 有关parseInt

如何使用window.prompt从用户那里获取2个数字,并在不串联的情况下将它们相加

我的想法是:

var temp = window.prompt("Number1")
var temp2 = window.prompt("Number2")
var answer = temp + temp2;
document.write(answer);
但它只是连接而不是添加

answer = parseInt(temp) + parseInt(temp2);
这就是你要找的


有关parseInt的详细信息:

您需要将它们显式转换为数字:

var answer = Number(temp) + Number(temp2);
一个更快的选择是:

var answer = (temp - 0) + (temp2 - 0);

您需要将值转换为数字,有很多方法可以实现:

var test1 = +window.prompt("Number1"); // unary plus operator
var test2 = Number(window.prompt("Number2")); // Number constructor
var test3 = parseInt(window.prompt("Number3"), 10); // an integer? parseInt
var test4 = parseFloat(window.prompt("Number4")); // parseFloat

默认情况下,window.prompt中的文本被解释为字符串,因此+运算符将其包含在内。您需要使用
parseInt

将值解析为整数。问题是您的输入是字符串(文本),必须将其转换为数字

您可以使用
parseInt()
函数或将其与另一个数字混合使用

示例:

var temp = window.prompt("Number1") * 1;
var temp = parseInt(window.prompt("Number2");

请不要链接到w3schools,那是一个人可以去的最糟糕的地方。改为链接到MDC:注意:要了解一元加号运算符、
Number
构造函数作为函数调用与
parseInt
/
parseFloat
之间的差异,请检查注意2:使用无运算的数学运算,如
foo*1
foo-0
稍微等同于使用一元加号运算符或
Number
构造函数作为函数调用。