var a = 1;
var b = 2;
var c = a+b;
c
将显示为12
;但我需要3
如何使用jQuery进行操作?
答案 0 :(得分:59)
因为jQuery的强大功能显然是无与伦比的,所以这里是如何处理100%的jQuery:
var a = 1;
var b = 2;
$("<script>c=+("+a+")+ +("+b+")</script>").appendTo($(document));
现在c
将保留您的结果,您只使用jQuery!正如你所看到的,jQuery真的很棒,因为它可以做各种各样的事情
这也很有效,因为a
或b
是字符串并不重要!
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 Arithmetic Plugin这已经解决了超过4294967295(&gt;&gt; 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(三+四)
答案 1 :(得分:36)
看起来你有字符串而不是数字,你需要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库。
答案 2 :(得分:9)
试试这个 -
var c = parseInt(a, 10) + parseInt(b, 10);
答案 3 :(得分:7)
试试这个:
var a = 1;
var b = 2;
var c = (+a) + (+b);
alert(c); //or whatever you want
答案 4 :(得分:2)
这将执行从基于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);
});
答案 5 :(得分:0)
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/