【问题标题】:javascript calculator 5 + 5 = 55?javascript计算器5 + 5 = 55?
【发布时间】:2023-03-11 10:57:01
【问题描述】:

嘿,我做了一个 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?");
                }
            }
        }
    }

【问题讨论】:

  • var sum = ( +N1 + +N2);
  • 或 var sum = (1.0*N1+1.0*N2)

标签: javascript calculator


【解决方案1】:

N1N2 是字符串,而不是数字。将两个字符串加在一起将它们连接起来,这就是您的“错误”。

你需要把它们解析成数字:

var N1 = Number(prompt("Enter first number"));

【讨论】:

    【解决方案2】:

    这适用于其他运算符但不适用于 plus 的原因是因为 "a" + "b" = "ab"。

    也就是说,您正在添加字符串。所以“5”+“5”=“55”

    如果你首先将它们转换为整数,它应该可以解决这个问题。

    var sum = (parseInt(N1,10) + parseInt(N2,10));
    

    【讨论】:

    • 您应该将基数参数传递给parseIntparseInt(N1, 10)。没有它,带有前导零的数字可能会被某些浏览器解释为八进制。
    • @Blender:好电话...我以前从未遇到过,但只是查看了一下确认。
    【解决方案3】:

    提示获取输入的字符串格式,你需要将其转换为整数进行整数加法运算。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-01
      • 2022-11-19
      • 2011-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多