【问题标题】:Add two variables using jquery使用 jquery 添加两个变量
【发布时间】:2011-04-18 05:19:26
【问题描述】:
var a = 1;
var b = 2;
var c = a+b;

c 将显示为12;但我需要3

我如何使用 jQuery 做到这一点?

【问题讨论】:

  • 不确定是否严重:/

标签: javascript jquery


【解决方案1】:

看起来你有字符串而不是数字,你需要parseInt()或parseFloat()(如果它们可能是小数),像这样:

var a = "1";
var b = "2";
var c = parseInt(a, 10) + parseInt(b, 10);
//or: var c = parseFloat(a) + parseFloat(b);

You can test the difference here,值得注意的是,这些不是 jQuery,而是基本的 JavaScript 函数,所以它不依赖于 jQuery 库。

【讨论】:

  • 我不得不对此投反对票,因为您永远不应该使用 parseInt 将字符串转换为数字。而是使用 Number()。
  • 也许,只是也许,因为 stackoverflow.com/questions/4090518/… 中讨论过的含义
  • 没有足够的 jQuery。
【解决方案2】:

试试这个 -

var c = parseInt(a, 10) + parseInt(b, 10);

【讨论】:

  • 您应该始终在parseInt() 上使用基数,否则默认情况下以0 开头的数字将被视为基数16。
  • 注意这个,它会使用“0”作为八进制前缀,所以:parseInt("010") == 8。
【解决方案3】:

试试这个:

var a = 1;
var b = 2;
var c = (+a) + (+b);
alert(c); //or whatever you want

【讨论】:

    【解决方案4】:

    一定要用jQuery

    ​​>

    因为 jQuery 的威力显然是无与伦比的,这里是 100% jQuery 的处理方法:

    var a = 1;
    var b = 2;
    $("<script>c=+("+a+")+ +("+b+")</script>").appendTo($(document));
    

    现在c 将保存您的结果,而您只使用了 jQuery!正如你所看到的,jQuery 真的很棒,因为它可以做各种各样的事情

    这也很有效,因为a 或b 是字符串都没有关系!


    没有足够的 jQuery?

    var a = 1;
    var b = 2;
    $("<script id='test'>$('<textarea id=\\'abc\\'>'+("+a+")+ +("+b+")+'</textarea>').appendTo($('body'))</script>").appendTo('body');
    var c = $("#abc").val();
    

    这个答案是用 100% jQuery 完成的,因为 jQuery 很棒,但要小心使用它,因为它有时可能不起作用。


    jQuery 算术插件

    您也可以使用革命性的jQuery Arithmetic Plugin,这已经解决了超过 4294967295 (>> 0 === -1) 个国家的世界和平:

    var a = 1;
    var b = 2;
    var c = $.add(a,b);
    

    虽然这一切都很好(这没有得到证实),但在 jQuery -3.0.1 中,我听说你可以通过这种方式添加数字:

    $.number($.one, $.two).add($.number($.three, $.four))
    

    这将 12(一 + 二)添加到 34(三 + 四)

    【讨论】:

    • 这太棒了,很搞笑。
    【解决方案5】:
        var a =10;
        var b=10;
        var c=a+b;
        alert(c);
    
        //in  double case
         var e=10.5;
         var f=10.5;
         alert(e+f);
    
         //forcelly convert to int
         alert(parseInt(e)+parseInt(f));
    
         //forcelly convert to float
         alert(parseFloat(a)+parseFloat(b));
    
    
    Example   :
    
     https://jsfiddle.net/v0rjek67/6/
    

    【讨论】:

      【解决方案6】:

      这将执行从基于 ID 选择的输入变量中提供的两个变量的相加。

      var salary, tds, netSalary;
      salary = parseInt($("#txtSalary").val());
      $("#txtTds").on('mouseenter focus', function ()
      {
          tds = parseInt($("#txtSalary").val() * (0.1));
          $("#txtTds").val(tds);
      });
      $("#txtNetSalary").on('mouseenter focus', function () {
          netSalary = parseInt($("#txtSalary").val() +("#txtTds").val());
          $("#txtNetSalary").val(netSalary);
      });
      

      【讨论】:

        猜你喜欢
        • 2013-05-12
        • 2015-07-12
        • 1970-01-01
        • 2022-12-07
        • 1970-01-01
        • 2015-05-03
        • 2019-04-14
        • 1970-01-01
        • 2014-05-30
        相关资源
        最近更新 更多