我想传入一个从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;
}
答案 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