1. 使用 parseInt()
parseInt()
解析一个字符串并返回一个整数。允许空格。仅返回第一个数字。
这种方法虽然有一个限制。如果您解析十进制数,它将四舍五入到最接近的整数值,并将该值转换为string。可能需要使用parseFloat()
方法进行文字转换。
myString = '129' console.log(parseInt(myString)) // expected result: 129a = 12.22console.log(parseInt(a)) // expected result: 12
2. 使用 Number()
Number()
可用于将 JavaScript 变量转换为数字。我们可以用它来转换字符串太数字。
如果该值不能转换为数字,NaN
则返回。
Number("10");// returns 10Number(" 10"); // returns 10Number("10.33"); // returns 10.33
3. 使用一元运算符 (+)
一元加号运算符 (+
) 在其操作数之前并计算其操作数,但如果尚未将其转换为数字,则尝试将其转换为数字。
const x = 25;const y = -25;console.log(+x); // expected output: 25console.log(+y); // expected output: -25console.log(+''); // expected output: 0
4.使用parseFloat()
parseFloat()
解析一个字符串并返回一个数字。允许空格。仅返回第一个数字。
parseFloat("10");// returns 10parseFloat("10.33"); // returns 10.33parseFloat("10 20 30");// returns 10parseFloat("10 years");// returns 10parseFloat("years 10");// returns NaN
5. 使用 Math.floor()
该Math.floor()
函数返回小于或等于给定数字的最大整数。这对于十进制数字可能有点棘手,因为它将最接近的整数的值返回为Number。
str = '1222'console.log(Math.floor(str)) // returns 1222a = 12.22Math.floor(a) // expected result: 12
6.乘以数字
将字符串值乘以1
不会改变值,并且默认情况下它会转换为数字。
str = '2344'console.log(str * 1) // expected result: 2344
7. 双波浪号 (~~) 运算符
我们可以使用双波浪号运算符将字符串转换为数字。
str = '1234'console.log(~~str) // expected result: 1234negStr = '-234'console.log(~~negStr) // expected result: -234
这是性能方面提到的方式的比较。如果您知道更多方法,请在下方评论。
谢谢你