用户在文本字段中输入的数字的数值

时间:2012-02-14 16:00:30

标签: javascript html

我需要添加用户输入的两个数字。为此,我创建了两个输入字段,从它们中检索值,使用.val(),在两个单独的变量中,然后添加它们。问题是添加了字符串而不是数字。例如。 2 + 3变为23而不是5.请建议做什么,除了在输入框中使用type = number。

4 个答案:

答案 0 :(得分:6)

您可以使用parseInt(...)

示例:

var num = parseInt("2", 10) + parseInt("3", 10);
// num == 5

答案 1 :(得分:4)

使用parseInt将字符串转换为数字:

var a = '2';
var b = '3';
var sum = parseInt(a,10) + parseInt(b,10);
console.log(sum); /* 5 */

请注意,parseInt(str, rad)仅在str实际包含多个基础rad时才有效,因此如果您想要允许其他基础,则需要手动检查它们。另请注意,如果您需要的不仅仅是整数,则需要使用parseFloat

答案 2 :(得分:0)

在添加之前使用parseInt(http://www.w3schools.com/jsref/jsref_parseint.asp)或parseFloat(http://www.w3schools.com/jsref/jsref_parsefloat.asp)转换为数值

PS:这是一个简单的答案。您可能想要进行一些验证/剥离/修剪等。

答案 3 :(得分:0)

Number()是你想要的功能“123a”返回NAN

parseInt()截断尾随字母“123a”返回123

<input type="text" id="txtFld" onblur="if(!Number(this.value)){alert('not a number');}" />
相关问题