How to make a document.getElementById value into an integer variable, not a string?

I want to pass in a value, obtained from the an html object, convert that value into an integer so I can run arithmetic on it before outputting it. As my code stands now, it just adds them up like a string. So a value of 5 + a modifier of 100 ends up equaling = 5100, not 105.

Here's my form code:

    Add Amount: <select id="addTweets">
    <option value=5>5</option>
    <option value=10>10</option>
    <option value=15>15</option>
    <input type="button" value="Add It" onclick="addTweet()" />

Here's my script:

function addTweet()
var mod = 100;
var results = document.getElementById("addTweets").value;
results += mod;

document.getElementById("tweetsOutput").innerHTML = results;



The unary plus (+) coerces its operand into a number:

var results = +document.getElementById("addTweets").value;

typeof( results ); // number

You can use parseInt

var results = parseInt(document.getElementById("addTweets").value);

Use parseInt:

var results = document.getElementById("addTweets").value;
var intResults = parseInt(results, 10) + mod;

just add parseInt, then you could add it normally

 var results = parseInt(document.getElementById("addTweets").value);


parseInt alternate, you can use "|0" use bitwise-or zero

 var results = document.getElementById("addTweets").value|0;


var valResult = document.getElementById("addTweets").value; // get the value of the field

var results = parseInt(valResult) + mod; // convert the value to int to do calculation

document.getElementById("addTweets").value = results; // assign results to the field value

Generally, you can convert the string numerical values into integers by doing a mathematical operation on it:

x = "9"; //String numerical value
y = 10;//integer value
alert(x+y)// output 910;
x = x*1;
alert(x+y) // output 19

Checkout this demo


Recent Questions

Top Questions

Home Tags Terms of Service Privacy Policy DMCA Contact Us

©2020 All rights reserved.