【问题标题】:Add numbers in prompt box在提示框中添加数字
【发布时间】:2018-09-24 13:21:52
【问题描述】:

我想问两个问题,用户在哪里输入一个数字,然后计算机将这两个数字相加。但是当我运行这段代码时,它只会像字符串一样组合它们,而不是添加。

这是我的代码:

<body>
<p id="info"></p>

<script type="text/javascript">

   var a = Number(prompt("Hvor mye kostet popcorn??"));

   var b = Number(prompt("Hvor mye kostet sjokolademelken?"));

   document.write("Prisen for varene dine ble " + a + b +  "kr.");

</script>

【问题讨论】:

  • 这似乎与 java 无关 - 租用删除 java 标签。

标签: javascript java html numbers prompt


【解决方案1】:

您应该在 a + b 周围加上方括号,以便 JS 知道首先评估该表达式。

document.write("Prisen for varene dine ble " + (a + b) + "kr.");

这样,它将首先评估a + b 的数字表达式,并将该数字与字符串连接起来。如果没有括号,代码会从左到右查看,并看到您正在将字符串与数字组合,因此只需正常连接它们,然后再连接变量 b。

【讨论】:

    【解决方案2】:

    您可以在输出周围添加括号以指定它是一个加法运算(而不是串联):

    document.write("Prisen for varene dine ble " + (a + b) + "kr."); 这是一个工作示例:

    var a = Number(prompt("Hvor mye kostet popcorn??"));
    var b = Number(prompt("Hvor mye kostet sjokolademelken?")); 
    document.write("Prisen for varene dine ble " + (a + b) + "kr.");

    【讨论】:

      【解决方案3】:

      只需将 a+b 的值存储在另一个变量中或将其放在括号之间。

      var a = Number(prompt("Hvor mye kostet popcorn??")); 
      var b = Number(prompt("Hvor mye kostet sjokolademelken?")); 
      var result = a+b;
      document.write("Prisen for varene dine ble " + (result) + "kr.");

      编辑

      var a = Number(prompt("Hvor mye kostet popcorn??")); 
      var b = Number(prompt("Hvor mye kostet sjokolademelken?")); 
      document.write("Prisen for varene dine ble " + (a+b) + "kr.");

      【讨论】:

      • 不需要eval函数
      • 是的,没有eval 方法你也能得到结果。
      • 别担心! :-)
      【解决方案4】:

      在 JS 中,当你在数字和字符串之间使用+ 运算符时,它总是会将数字转换为字符串并进行字符串连接。这实际上是您想要的,您只需将总和括在括号中以确保总和被视为介于两个数字之间:

      document.write("Prisen for varene dine ble " + (a + b) + "kr.");
      

      【讨论】:

        【解决方案5】:

        您在 document.write() 中的变量 a 和 b 之间的“+”运算符不会相互添加两个变量。它在那个函数中还有另一个含义。

        【讨论】:

        • 我明白了!我用什么代替?
        • 您可以创建第三个变量,在其中添加 a 和 b,例如 var c = a+b;或将括号括在 a 和 b 上,如 (a+b)
        猜你喜欢
        • 2012-12-29
        • 2017-04-13
        • 1970-01-01
        • 1970-01-01
        • 2011-08-30
        • 2013-10-29
        • 1970-01-01
        • 1970-01-01
        • 2017-10-01
        相关资源
        最近更新 更多