如何将document.getElementById值转换为整数变量,而不是字符串?

时间:2012-12-03 23:21:03

标签: javascript

我想传入一个从html对象获取的值,将该值转换为整数,以便在输出之前对其进行算术运算。正如我的代码现在所说,它只是像字符串一样添加它们。因此,值为5 + 100的修饰符最终等于= 5100,而不是105。

这是我的表单代码:

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

这是我的剧本:

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

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

6 个答案:

答案 0 :(得分:20)

一元加号(+)将其操作数强制转换为数字:

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

typeof( results ); // number

答案 1 :(得分:2)

您可以使用parseInt

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

答案 2 :(得分:2)

使用parseInt:

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

答案 3 :(得分:1)

只需添加parseInt,然后就可以正常添加

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

编辑:

parseInt alternate,你可以使用“| 0”使用按位或零

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

答案 4 :(得分: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

答案 5 :(得分:0)

通常,您可以通过对数字运算进行数学运算将字符串数值转换为整数:

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

结帐demo