12

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

6 回答 6

35

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

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

typeof( results ); // number
于 2012-12-03T23:23:05.140 回答
3

使用 parseInt:

var results = document.getElementById("addTweets").value;
var intResults = parseInt(results, 10) + mod;
于 2012-12-03T23:25:30.357 回答
2

您可以使用parseInt

var results = parseInt(document.getElementById("addTweets").value);
于 2012-12-03T23:24:32.117 回答
1

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

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

编辑:

parseInt 备用,您可以使用“|0”使用按位或零

 var results = document.getElementById("addTweets").value|0;
于 2012-12-03T23:23:52.973 回答
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
于 2012-12-03T23:39:01.303 回答
0

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

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

查看此演示

于 2016-09-05T03:20:50.447 回答