【问题标题】:Javascript adding numbers as stringsJavascript将数字添加为字符串
【发布时间】:2014-11-11 13:52:59
【问题描述】:

我有以下代码将数字解释为字符串并将它们添加为 100300 而不是 400:

var rate = document.getElementById('pur_price').value;
var pprice = document.getElementById('pur_price').value;
var rate1 = document.getElementById('select2').value;
var refurb = 300;
document.getElementById('avg_claim_rate').value=id;
document.getElementById('amount_claim').value=pprice+refurb;

这是 pprice 和 refurb 字段,所以如果 pprice=100 和 refurb=300,我希望它显示 400,而目前它显示 100300

【问题讨论】:

  • 你知道PHP和JavaScript的区别吗?
  • 你需要先用parseFloat解析输入值,然后再用它进行计算

标签: javascript variables math addition


【解决方案1】:

你可以使用parseInt函数:

var pprice = parseInt(document.getElementById('pur_price').value, , 10);
var rate1 = parseInt(document.getElementById('select2').value, , 10);

【讨论】:

    【解决方案2】:
    var result = +pprice + + refurb;
    

    【讨论】:

      【解决方案3】:

      使用函数parseInt()可以:

      document.getElementById('avg_claim_rate').value=id;
      document.getElementById('amount_claim').value=parseInt(pprice)+refurb;
      

      【讨论】:

        【解决方案4】:

        正如@sergio 所说,您可以使用 JavaScript 内置的 parseInt 函数。仅供参考,您可以将其乘以一。如果您将其相乘,JavaScript 总是将字符串转换为数字。所以你可以这样做:

        var num1 = "300";
        var num2 = "100";
        
        var num1 = num1 * 1; // Converts string to the number 300
        var num2 = num2 * 1;
        
        document.getElementById('number').value = num1+num2;
        <input id="number"/>

        这只是做同样事情的另一种方法。使用对您来说最简单的方法。希望对您有所帮助!

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-05-07
          • 2011-08-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-11-29
          • 2020-02-16
          相关资源
          最近更新 更多