如何在JavaScript中将字符串转换为整数?
当前回答
如果您使用parseInt将浮点转换为科学符号,请小心!例如:
parseInt("5.6e-14")
将导致
5
而不是
0
其他回答
我们可以使用+(stringOfNumber)而不是parseInt(stringOfNumber)。
示例:+(“21”)返回int值为21,类似于parseInt(“21)。
我们也可以使用这个一元“+”运算符来解析浮点数。。。
要将字符串转换为整数,我建议使用parseFloat而不是parseInt。原因如下:
使用parseFloat:
parseFloat('2.34cms') //Output: 2.34
parseFloat('12.5') //Output: 12.5
parseFloat('012.3') //Output: 12.3
使用parseInt:
parseInt('2.34cms') //Output: 2
parseInt('12.5') //Output: 12
parseInt('012.3') //Output: 12
因此,如果您注意到parseInt丢弃小数后的值,而parseFloat允许您处理浮点数字,因此如果您希望保留小数后的数值,则更适合。当且仅当您确定需要整数值时,才使用parseInt。
函数doSth(){var a=document.getElementById('input').value;document.getElementById('number').innerHTML=toNumber(a)+1;}函数toNumber(str){return+str;}<input id=“input”type=“text”><input onclick=“doSth()”type=“submit”><span id=“number”></span>
在JavaScript中,您可以执行以下操作:
解析Int
parseInt("10.5") // Returns 10
与1相乘
var s = "10";
s = s*1; // Returns 10
使用一元运算符(+)
var s = "10";
s = +s; // Returns 10
使用按位运算符
(注:在2140000000之后开始破裂。示例:~~“2150000000”=-214967296)
var s = "10.5";
s = ~~s; // Returns 10
使用Math.floor()或Math.ceil()
var s = "10";
s = Math.floor(s) || Math.ceil(s); // Returns 10
我只在字符串前加了一个加号(+),这就是解决方案!
+"052254" // 52254
推荐文章
- 我如何使用Jest模拟JavaScript的“窗口”对象?
- 我应该如何从字符串中删除所有的前导空格?- - - - - -斯威夫特
- 我如何等待一个承诺完成之前返回一个函数的变量?
- 在JavaScript中根据键值查找和删除数组中的对象
- 使嵌套JavaScript对象平放/不平放的最快方法
- 如何以及为什么'a'['toUpperCase']()在JavaScript工作?
- 有Grunt生成index.html不同的设置
- 文档之间的区别。addEventListener和window。addEventListener?
- 如何检查动态附加的事件监听器是否存在?
- 将整数转换为字符串,以逗号表示千
- 如何写setTimeout与参数Coffeescript
- 将JavaScript字符串中的多个空格替换为单个空格
- printf()和puts()在C语言中的区别是什么?
- JavaScript: override alert()
- 重置setTimeout