JS string 转数字
在JavaScript中,我们经常需要将字符串转换为数字。有时候,我们需要将用户输入的字符串转换为数字进行计算,有时候我们需要将从后端返回的数据中的字符串转换为数字进行展示。本文将详细讨论在JavaScript中如何将字符串转换为数字。
使用parseInt()函数
JavaScript中的parseInt()函数可以将字符串转换为整数。该函数的语法如下:
parseInt(string, radix)
string
:需要转换为整数的字符串。radix
:进制数,可选参数。指定要解析的数字的基数。
示例代码:
let str = "123";
let num = parseInt(str);
console.log(num); // 输出:123
如果要将字符串转换为浮点数,我们可以使用parseFloat()函数。示例代码如下:
let str = "3.14";
let num = parseFloat(str);
console.log(num); // 输出:3.14
使用Number()函数
除了parseInt()和parseFloat()函数之外,JavaScript中还提供了Number()函数,可以将字符串转换为数字。示例代码如下:
let str = "456";
let num = Number(str);
console.log(num); // 输出:456
需要注意的是,Number()函数有一些特殊的规则:
- 如果字符串中包含非数字字符,转换结果为NaN。
- 空字符串转换为0。
- 如果字符串以0x或0X开头,会被转换为16进制。
- 如果字符串以0开头,会被转换为八进制。
示例代码:
let str1 = "abc";
console.log(Number(str1)); // 输出:NaN
let str2 = "";
console.log(Number(str2)); // 输出:0
let str3 = "0x10";
console.log(Number(str3)); // 输出:16
let str4 = "012";
console.log(Number(str4)); // 输出:10
使用+运算符
除了上述方法外,我们还可以使用一元加号运算符(+)将字符串转换为数字。示例代码如下:
let str = "789";
let num = +str;
console.log(num); // 输出:789
需要注意的是,如果字符串中包含非数字字符,转换结果为NaN。
使用Math.floor()、Math.ceil()和Math.round()方法
在特定场景下,我们可能需要对字符串转换为的数字进行进一步处理,比如取整等操作。在这种情况下,我们可以使用Math对象提供的方法。示例代码如下:
let str = "3.14";
let num = parseFloat(str);
console.log(Math.floor(num)); // 向下取整,输出:3
console.log(Math.ceil(num)); // 向上取整,输出:4
console.log(Math.round(num)); // 四舍五入,输出:3
总结
在JavaScript中,我们可以使用parseInt()、parseFloat()、Number()、+运算符以及Math对象的方法将字符串转换为数字。根据实际需求选择合适的方法,同时注意字符串转换为数字可能存在的特殊情况,比如包含非数字字符等。