如何将存储在字符串中的数值加在一起?

时间:2011-02-04 11:19:22

标签: javascript

我正在尝试将1添加到我的JavaScript变量中,但以下代码未提供预期结果:

var val1 = document.getElementById('<%= rng1.ClientID %>');
var val2 = val1.value + "1";
alert(val2.value);

我该怎么做?

5 个答案:

答案 0 :(得分:19)

你可以使用函数parseInt()将val1.value中存储的字符串转换为数字:

var val2 = parseInt(val1.value) + 1;

请注意,Number(val1.value)也会将您的值转换为数字。

<强> -edit -
正如yc建议的那样,强烈建议使用parseInt(val1.value, 10) + 1;因为如果你的字符串以"0"开头,则字符串被解释为八进制。例如。 parseInt("0123") == 83而不是123

答案 1 :(得分:5)

最简单也是首选的方法是使用+转换为数字。

<强>示例:

+'234'; // 234
+'042'; // 42! It does not convert to octal

在您的情况下:

var val1 = +(document.getElementById('<%= rng1.ClientID %>').value); // () added just for the looks
var val2 = val1.value + 1; // if val1 is 5, val2 will be 6 hooray!
alert(val2); // just val2, since it's a plain number not an html input element

答案 2 :(得分:1)

parseInt($('.scpContainer').height()+200)

答案 3 :(得分:0)

你必须添加号码,所以不加引号尝试: - )

答案 4 :(得分:0)

在外部JavaScript文件中,您无法使用<%=ControlID.ClientID %>获取客户端ID。

如果您使用外部JavaScript文件,则需要将客户端ID值传递给该函数。