嘿,我做了一个javascript计算器,想试试5+5,它给我55,而不是10?无论如何,如果我尝试5/5,它会给我1,如果我尝试5-5,它会给我0,同样的时间,我不理解我的代码的问题,也想尝试console.log,它不起作用,所以我使用document.write
这是我的代码
var Plus = function()
{
var N1 = prompt("Enter first number");
var N2 = prompt("Enter second number");
var sum = (N1 + N2);
document.write(sum);
}
var Minus = function()
{
var N1 = prompt("Enter first number");
var N2 = prompt("Enter second number");
var sum = (N1 - N2);
document.write(sum);
}
var Division = function()
{
var N1 = prompt("Enter first number");
var N2 = prompt("Enter second number");
var sum = (N1 / N2);
document.write(sum);
}
var Times = function()
{
var N1 = prompt("Enter first number");
var N2 = prompt("Enter second number");
var sum = (N1 * N2);
document.write(sum);
}
var Answer = prompt("Plus ?, Minus ?, Division ? or Times ?");
if( Answer === "Plus")
{
Plus();
}
else
{
if( Answer === "Minus")
{
Minus();
}
else
{
if( Answer === "Division")
{
Division();
}
else
{
if( Answer === "Times")
{
Times();
}
else
{
document.write("How did you get here?");
}
}
}
}发布于 2013-07-06 09:56:37
N1和N2是字符串,而不是数字。将两个字符串添加在一起会将它们连接起来,这就是您的“错误”所在。
您需要将它们解析为数字:
var N1 = Number(prompt("Enter first number"));发布于 2013-07-06 09:57:31
这对其他运算符有效,但不适用于加号,原因是"a“+ "b”= "ab“。
也就是说,您正在添加字符串。所以"5“+ "5”= "55“
如果您首先将它们转换为整数,它应该会解决这个问题。
var sum = (parseInt(N1,10) + parseInt(N2,10));发布于 2013-07-06 09:56:40
Prompt获取输入的字符串格式,需要将其转换为整数进行整数加法运算。
https://stackoverflow.com/questions/17498883
复制相似问题