js string 转number
在JavaScript中,我们常常需要将一个字符串转换为数字,以便进行数值计算或其他操作。在本文中,我们将详细讨论如何将字符串转换为数字,并且提供一些示例代码来加深理解。
使用Number()函数
JavaScript中有一个内置的Number()函数,可以将字符串转换为数字。当传递一个字符串作为参数时,Number()函数会尝试将该字符串转换为相应的数字。
let num1 = Number("123");
console.log(num1); // 123
let num2 = Number("3.14");
console.log(num2); // 3.14
在上面的示例中,我们分别将字符串”123″和”3.14″转换为数字,并使用console.log打印出转换后的结果。需要注意的是,如果字符串无法转换为有效数字,Number()函数会返回NaN。
let num3 = Number("abc");
console.log(num3); // NaN
使用parseInt()和parseFloat()函数
除了Number()函数外,JavaScript还提供了parseInt()和parseFloat()函数来将字符串转换为整数和浮点数。这两个函数在处理不同类型的数字时有所不同。
使用parseInt()
parseInt()函数用于将字符串转换为整数。它会尝试将字符串中的数字部分提取出来,并返回整数结果。
let num4 = parseInt("42");
console.log(num4); // 42
let num5 = parseInt("42px");
console.log(num5); // 42
在第一个示例中,parseInt()函数成功地将字符串”42″转换为整数42;而在第二个示例中,它会在碰到无效字符(如”px”)时停止转换,返回42。
使用parseFloat()
parseFloat()函数用于将字符串转换为浮点数。它会尝试提取字符串中的数字和小数点部分,并返回浮点数结果。
let num6 = parseFloat("3.14");
console.log(num6); // 3.14
let num7 = parseFloat("3.14px");
console.log(num7); // 3.14
与parseInt()类似,parseFloat()函数也会在碰到无效字符时停止转换,返回有效数字部分。
使用加号运算符
除了以上提到的函数外,我们还可以使用加号运算符(+)将字符串转换为数字。当加号左右分别是数字时,会进行数字相加的操作;而当其中一个为字符串时,会将另一个也转换为字符串进行拼接;当字符串无法转换为有效数字时,会返回NaN。
let num8 = +"123";
console.log(num8); // 123
let num9 = +"3.14";
console.log(num9); // 3.14
注意,加号运算符会自动将字符串转换为数字,如果无法转换为有效数字,则返回NaN。
使用parseInt() 和parseFloat() 的radix参数
在使用parseInt()函数时,我们可以传递一个可选的radix参数,用来指定解析时使用的进制数。默认情况下,parseInt()会根据字符串的前缀来确定进制,但我们也可以明确指定。
let num10 = parseInt("1010", 2);
console.log(num10); // 10
let num11 = parseInt("A", 16);
console.log(num11); // 10
在第一个示例中,我们将字符串”1010″按照二进制解析,返回十进制数值10;而在第二个示例中,将字符”A”按照十六进制解析,同样返回十进制数值10。
总结
本文介绍了如何使用JavaScript中的Number()、parseInt()、parseFloat()函数以及加号运算符来将字符串转换为数字。