📅  最后修改于: 2023-12-03 15:07:41.588000             🧑  作者: Mango
在 Javascript 中,经常需要将字符串中的数字转换为实际数字。这非常有用,因为 JavaScript 中许多函数只接受数字类型参数。以下是一些常用的函数,可以用于在 JavaScript 中转换字符串中的数字。
parseInt
函数将字符串解析为整数。如果字符串中包含数字以外的字符,则从第一个数字字符之后停止解析字符串。可以传递第二个参数作为基数,以确定要使用的进制。如果未指定基数,则默认为十进制。
let str = "123";
let num = parseInt(str);
console.log(num); // 输出: 123
let str = "0xFF";
let num = parseInt(str, 16);
console.log(num); // 输出: 255
parseFloat
函数将字符串解析为浮点数。如果字符串中不包含有效数字,则返回 NaN。与 parseInt
函数类似,如果字符串中包含数字以外的字符,则从第一个数字字符之后停止解析字符串。
let str = "3.14";
let num = parseFloat(str);
console.log(num); // 输出: 3.14
let str = "3.14abcd";
let num = parseFloat(str);
console.log(num); // 输出: 3.14
Number
构造函数可以将任何类型的值转换为数字。如果参数是数字,则返回相应的数字。如果参数是字符串,则返回解析的数字。如果字符串不能解析为数字,则返回 NaN。如果参数是对象,Number
函数将调用对象的 valueOf
方法,如果返回的是原始类型,则将其转换为数字,否则调用对象的 toString
方法,并将返回的字符串解析为数字。
let str = "123";
let num = Number(str);
console.log(num); // 输出: 123
let str = "3.14";
let num = Number(str);
console.log(num); // 输出: 3.14
let str = "abcd";
let num = Number(str);
console.log(num); // 输出: NaN
一元加号运算符(+)可以将任何类型的值转换为数字。如果参数是数字,则返回相应的数字。如果参数是字符串,则返回解析的数字。如果字符串不能解析为数字,则返回 NaN。如果参数是对象,则先尝试调用对象的 valueOf
方法,如果返回的是原始类型,则将其转换为数字,否则调用对象的 toString
方法,并将返回的字符串解析为数字。
let str = "123";
let num = +str;
console.log(num); // 输出: 123
let str = "3.14";
let num = +str;
console.log(num); // 输出: 3.14
let str = "abcd";
let num = +str;
console.log(num); // 输出: NaN
以上是在 JavaScript 中转换字符串中的数字的一些常见方法。可以根据情况选择使用其中的某一个或多个。如果字符串中包含有效数字,则建议使用一元加号或 Number
函数来转换字符串,否则可以使用 parseInt
或 parseFloat
函数。