使用JS将字符串转换为数值的几种方法汇总
温馨提示:
本文最后更新于 2022年11月11日,已超过 135 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我。
JS中常见的将字符串转换为数值的几种方法,本文使用parseInt(),Number(),一元运算符 (+),parseFloat(),Math.floor(),双波浪号 (~~) 运算符等来转换。
parseInt()
parseInt()解析一个字符串并返回一个整数。允许空格。仅返回第一个数字。这种方法虽然有一个限制。如果您解析十进制数,它将四舍五入到最接近的整数值,并将该值转换为string。可能需要使用parseFloat()方法进行文字转换。
myString = '129'
console.log(parseInt(myString)) // expected result: 129
a = 12.22
console.log(parseInt(a)) // expected result: 12
Number()
Number()可用于将 JavaScript 变量转换为数字。我们可以用它来转换字符串太数字。如果该值不能转换为数字,NaN则返回。
Number("10"); // returns 10
Number(" 10 "); // returns 10
Number("10.33"); // returns 10.33
一元运算符 (+)
一元加号运算符 ( +) 在其操作数之前并计算其操作数,但如果尚未将其转换为数字,则尝试将其转换为数字。const x = 25;
const y = -25;
console.log(+x); // expected output: 25
console.log(+y); // expected output: -25
console.log(+''); // expected output: 0
parseFloat()
parseFloat()解析一个字符串并返回一个数字。允许空格。仅返回第一个数字。parseFloat("10"); // returns 10
parseFloat("10.33"); // returns 10.33
parseFloat("10 20 30"); // returns 10
parseFloat("10 years"); // returns 10
parseFloat("years 10"); // returns NaN
Math.floor()
该Math.floor()函数返回小于或等于给定数字的最大整数。这对于十进制数字可能有点棘手,因为它将最接近的整数的值返回为Number。str = '1222'
console.log(Math.floor(str)) // returns 1222
a = 12.22
Math.floor(a) // expected result: 12
乘以数字
将字符串值乘以1不会改变值,并且默认情况下它会转换为数字。str = '2344'
console.log(str * 1) // expected result: 2344
双波浪号 (~~) 运算符
我们可以使用双波浪号运算符将字符串转换为数字。str = '1234'
console.log(~~str) // expected result: 1234
negStr = '-234'
console.log(~~negStr) // expected result: -234
如果你知道其他更好的方法,可以留言告诉博主学习一下。
正文到此结束
- 本文标签: JavaScript 前端 Html
- 本文链接: http://www.92cxy.cn/article/53
- 版权声明: 本文由王小东原创发布,转载请遵循《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权
热门推荐
相关文章
该篇文章的评论功能已被站长关闭