在 JavaScript 中,将字符串转换为数字可以通过多种方法实现,这里列出一些常用的方法:
1. 使用全局方法 Number()
Number()
函数可以将给定的值转换为数字。如果参数是字符串,那么字符串将被解析为一个数字(如果可以),否则返回NaN
(Not-a-Number)。
let str = "123"; let num = Number(str); console.log(num); // 输出: 123 let str2 = "123.45"; let num2 = Number(str2); console.log(num2); // 输出: 123.45 let str3 = "abc"; let num3 = Number(str3); console.log(num3); // 输出: NaN
2. 使用一元加号 +
在字符串前使用一元加号+
,可以将字符串转换为数字。如果字符串不是一个有效的数字,则结果为NaN
。
let str = "123"; let num = +str; console.log(num); // 输出: 123 let str2 = "123.45"; let num2 = +str2; console.log(num2); // 输出: 123.45 let str3 = "abc"; let num3 = +str3; console.log(num3); // 输出: NaN
3. 使用 parseInt()
parseInt()
函数解析一个字符串,并返回一个整数。如果字符串的第一个字符不能被转换为数字,则parseInt()
会返回NaN
。但需要注意的是,它默认会忽略前面的空白字符,直到找到第一个非空白字符。
let str = " 123"; let num = parseInt(str); console.log(num); // 输出: 123 let str2 = "123.45"; let num2 = parseInt(str2); console.log(num2); // 输出: 123,注意:不会解析小数点后的数字 let str3 = "abc"; let num3 = parseInt(str3); console.log(num3); // 输出: NaN let str4 = "100px"; let num4 = parseInt(str4); console.log(num4); // 输出: 100,会停止解析在第一个非数字字符
4. 使用 parseFloat()
parseFloat()
函数解析一个字符串,并返回一个浮点数。这个方法类似于全局的Number()
函数,不同之处在于parseFloat()
会解析直到字符串的末尾或者遇到第一个不能被解析为数字的字符为止,并且它始终忽略前导的空白符。
let str = "123.45"; let num = parseFloat(str); console.log(num); // 输出: 123.45 let str2 = "123.45px"; let num2 = parseFloat(str2); console.log(num2); // 输出: 123.45,注意:会解析直到遇到第一个非数字字符 let str3 = "abc"; let num3 = parseFloat(str3); console.log(num3); // 输出: NaN
以上就是关于 JS 将字符串类型转 number 类型方法总结,最终选择哪种方法取决于你的具体需求,比如是否需要解析小数点后的数字,以及你期望如何处理非数字字符串等。