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