I need to add up two numbers input by the user. To do that, I create two input fields, retrieve values from them , using .val(), in two separate variables and then add them.
Use parseInt to convert a string into a number:
var a = '2';
var b = '3';
var sum = parseInt(a,10) + parseInt(b,10);
console.log(sum); /* 5 */
Keep in mind that parseInt(str, rad)
will only work if str
actually contains a number of base rad
, so if you want to allow other bases you'll need to check them manually. Also note that you'll need to use parseFloat
if you want more than integers.
Number() is the function you want "123a" returns NAN
parseInt() truncates trailing letters "123a" returns 123
<input type="text" id="txtFld" onblur="if(!Number(this.value)){alert('not a number');}" />
Either use parseInt (http://www.w3schools.com/jsref/jsref_parseint.asp) or parseFloat (http://www.w3schools.com/jsref/jsref_parsefloat.asp) to convert to a numerical value before adding.
PS: This is the simple answer. You might want to do some validation/stripping/trimming etc.
You can use parseInt(...)
Example:
var num = parseInt("2", 10) + parseInt("3", 10);
// num == 5