JavaScript中将字符串转换为数字的七种方法总结

JavaScript中将字符串转换为数字的七种方法总结
最新回答
天使小恶魔

2023-12-07 10:26:32

JavaScript中提供了多种方法将字符串转换为数字,每种方法都有其特点和适用场景。首先介绍的是parseInt()函数,它解析一个字符串并返回一个整数,支持空格,仅返回第一个数字。如果解析十进制数,它会四舍五入到最接近的整数值。例如:
myString = '129' console.log(parseInt(myString)) // 129
a = 12.22 console.log(parseInt(a)) // 12

第二种方法是使用Number()函数,它可以将JavaScript变量转换为数字。它能处理字符串到数字的转换,如果该值不能转换为数字,则返回NaN。例如:
Number("10"); // 10
Number(" 10 "); // 10
Number("10.33"); // 10.33

第三种方法是一元运算符+,它在操作数之前计算操作数,如果还未转换为数字,则尝试将其转换为数字。例如:
const x = 25; const y = -25; console.log(+x); // 25
console.log(+y); // -25
console.log(+''); // 0

第四种方法是parseFloat(),它解析一个字符串并返回一个数字,允许空格。它只会返回第一个数字。例如:
parseFloat("10"); // 10
parseFloat("10.33"); // 10.33
parseFloat("10 20 30"); // 10
parseFloat("10 years"); // 10
parseFloat("years 10"); // NaN

第五种方法是使用Math.floor()函数,它返回小于或等于给定数字的最大整数。对于十进制数字,它会返回最接近的整数值。例如:
str = '1222' console.log(Math.floor(str)) // 1222
a = 12.22 console.log(Math.floor(a)) // 12

第六种方法是将字符串值乘以1,这不会改变值,会默认将其转换为数字。例如:
str = '2344' console.log(str * 1) // 2344

最后一种方法是使用双波浪号(~~)运算符,它可以将字符串转换为数字。例如:
str = '1234' console.log(~~str) // 1234
negStr = '-234' console.log(~~negStr) // -234

总结来说,每种方法都有其独特之处,可以根据具体需求选择合适的方法。如需进一步了解JavaScript中数字和字符串的强制转换,请参考相关文档或查阅更多资料。