📌  相关文章
📜  从字符串中获取数字 - Javascript (1)

📅  最后修改于: 2023-12-03 15:36:17.656000             🧑  作者: Mango

从字符串中获取数字 - JavaScript

在 JavaScript 中,我们经常需要从字符串中获取数字。这可能是因为我们需要将用户输入转换为数字,或者从某个字符串中提取有关数字的信息。

以下是几种从字符串中获取数字的方法:

1. parseInt()

parseInt() 方法将字符串转换为整数。它从字符串的首字符开始解析,直到遇到一个非数字字符为止。

const str = '1234';
const num = parseInt(str);
console.log(num); // 输出: 1234

注意,如果字符串的第一个非空格字符不是数字或正负号,则 parseInt() 方法会返回 NaN。(可以在 parseInt 方法中设置第二个参数,代表将字符串解析为多少进制的数字)。

2. parseFloat()

parseFloat() 方法将字符串转换为浮点数(小数)。与 parseInt() 方法类似,它从字符串的首字符开始解析,直到遇到一个非数字字符为止。

const str = '3.14';
const num = parseFloat(str);
console.log(num); // 输出: 3.14

注意,如果字符串的第一个非空格字符不是数字或正负号,则 parseFloat() 方法会返回 NaN

3. 正则表达式

使用正则表达式可以提取字符串中的数字。以下示例使用 match() 方法和正则表达式 /(\d+)/g 从字符串中获取所有数字:

const str = 'I have 3 apples and 2 bananas';
const numbers = str.match(/\d+/g);
console.log(numbers); // 输出: [ '3', '2' ]

正则表达式 /(\d+)/g 匹配所有的数字,并返回一个数字的数组。

4. charCodeAt()

在 JavaScript 中,字符可以使用 Unicode 编码表示。如果我们知道每个数字在字符串中的位置,我们可以使用 charCodeAt() 方法获取它的 Unicode 编码,然后将其转换为数字。

以下示例使用 charCodeAt() 方法从字符串中获取单个数字:

const str = '123';
const num = str.charCodeAt(0) - 48; // 48 是 '0' 的 Unicode 编码
console.log(num); // 输出: 1
结论

由于从字符串中获取数字的方式有多种,我们可以根据需求来选择最适合的方法。如果需要从整个字符串中获取数字,最好使用 parseInt()parseFloat() 方法。如果需要获取字符串中所有的数字,则可以使用正则表达式。最后,如果我们知道数字在字符串中的位置,则可以使用 charCodeAt() 方法。

希望这篇文章对你有所帮助!