我需要将用户输入的两个数字相加。为此,我创建了两个输入字段,使用.val()从两个单独的变量中检索值,然后添加它们。问题是字符串被添加,而不是数字。例如。 2 + 3变成23而不是5.请建议做什么,除了在输入框中使用type = number。用户在文本字段中输入的数字的数值
6
A
回答
6
您可以使用parseInt函数(...)
例子:
var num = parseInt("2", 10) + parseInt("3", 10);
// num == 5
+0
如果用户输入'2.5'会怎么样?即使你假定只允许整数,请不要使用'parseInt()'而不使用第二个参数来指定base 10为'parseInt(“2”,10)',否则如果用户输入前导零(例如“077”),它可能(取决于浏览器)被视为八进制;如果用户输入一个前导“0x”,它将被视为十六进制。 – nnnnnn 2013-06-02 02:04:24
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
。
0
要么使用parseInt函数(http://www.w3schools.com/jsref/jsref_parseint.asp)或parseFloat(HTTP ://www.w3schools.com/jsref/jsref_parsefloat.asp)在添加之前转换为数值。 PS:这是简单的答案。你可能想要做一些验证/剥离/修剪等
0
号()是你想要的功能 “123A” 返回NaN
parseInt函数()截断尾随字母 “123A” 返回123
<input type="text" id="txtFld" onblur="if(!Number(this.value)){alert('not a number');}" />
的
相关问题
- 1. 防止用户在HTML5输入文本字段中输入非数字
- 2. 根据用户输入的数字重新排列文本输入字段
- 3. 如何设置nth.child数字文本框输入字段的值
- 4. 如何在文本字段中显示输入的数字?
- 5. 接收用户输入文本字段的数据
- 6. AS3文本字段中输入一定数目的字符的
- 7. 阻止用户在输入字段中输入文字
- 8. 如何防止插入值大于用户在文本字段中输入的数字
- 9. 如何将文本字段值与在文本字段中输入的数据库值进行比较
- 10. 用预设值输入文本字段
- 11. 如何强制用户在数据库字段中输入值
- 12. 在文本输入字段
- 13. 根据用户输入在输入字段中显示数据
- 14. 在使用js的文本输入中禁用数字输入
- 15. 访问文本输入字段数据
- 16. 在文本字段中添加默认文本,并跟随用户输入值
- 17. 在输入一定数量的字符后,禁止用户将文本输入到textarea字段中
- 18. Android:在用户输入EditText时创建倒数字段字段
- 19. 无法在使用sx的文本字段中输入值:datetimepicker
- 20. 强制用户只输入字段中的数字(RoR)
- 21. 数字输入字段,禁止用户手动输入号码
- 22. 不允许用户在一个字段中输入数字
- 23. 如何在用户在字段中输入时将文本字段数据转换为大写字母?
- 24. 将文本字段中的用户输入存储到NSArray中
- 25. 用值替换文件中的文本,然后输入数字
- 26. 使文本输入字段记得以前输入的数据
- 27. 保留在文本字段中输入的数据
- 28. 在另一页输入字段的文本字符串值后
- 29. 单个输入字段的分隔输入文本字段
- 30. 防止用户在SWT中的文本字段中输入字符
可能重复[Javascript来字符串转换为数字?](http://stackoverflow.com/questions/2130454/javascript-to-convert-st ring-to-number) – 2012-02-14 16:11:30