JS 字符串转Number
在JavaScript中,我们经常会遇到需要将字符串转换为数字的情况。这在处理表单输入、从服务器获取数据等情况下特别常见。本文将详细介绍如何使用JavaScript将字符串转换为数字。
使用parseInt()函数
在JavaScript中,我们可以使用parseInt()函数将字符串转换为整数。
let str = "123";
let num = parseInt(str);
console.log(num); // 输出 123
parseInt()函数还可以接受第二个参数,用于指定进制。默认情况下,parseInt()函数将字符串视为十进制数。
let hexStr = "0x10";
let hexNum = parseInt(hexStr, 16);
console.log(hexNum); // 输出 16
需要注意的是,parseInt()函数会忽略字符串中的非数字部分。
let mixedStr = "123abc";
let numFromMixed = parseInt(mixedStr);
console.log(numFromMixed); // 输出 123
使用parseFloat()函数
如果需要将字符串转换为浮点数,则可以使用parseFloat()函数。
let floatStr = "3.14";
let floatNum = parseFloat(floatStr);
console.log(floatNum); // 输出 3.14
与parseInt()函数类似,parseFloat()函数也会忽略非数字部分。
let mixedFloatStr = "3.14abc";
let numFromMixedFloat = parseFloat(mixedFloatStr);
console.log(numFromMixedFloat); // 输出 3.14
使用Number()函数
除了parseInt()和parseFloat()函数,JavaScript还提供了Number()函数用于将字符串转换为数字。
let strNum = "42";
let numFromNumber = Number(strNum);
console.log(numFromNumber); // 输出 42
值得注意的是,Number()函数在转换空字符串时会返回0。
let emptyStr = "";
let numFromEmpty = Number(emptyStr);
console.log(numFromEmpty); // 输出 0
使用加号运算符(+)
另外一个将字符串转换为数字的简便方法就是使用加号运算符(+)。
let strDigit = "42";
let numFromPlus = +strDigit;
console.log(numFromPlus); // 输出 42
同样,加号运算符也会将空字符串转换为0。
let emptyString = "";
let numFromPlusEmpty = +emptyString;
console.log(numFromPlusEmpty); // 输出 0
转换失败的情况
在某些情况下,字符串无法被转换成有效的数字,这时转换的结果会为NaN(Not a Number)。
let invalidStr = "hello";
let numInvalid = parseFloat(invalidStr);
console.log(numInvalid); // 输出 NaN
需要特别注意的是,在使用parseInt()函数时,如果字符串以非数字字符开头,将返回NaN。
let invalidIntStr = "abc123";
let numInvalidInt = parseInt(invalidIntStr);
console.log(numInvalidInt); // 输出 NaN
结语
本文介绍了几种将字符串转换为数字的方法,包括parseInt()、parseFloat()、Number()、以及加号运算符。在实际开发中,根据具体情况选择合适的方法进行转换是很重要的。