📅  最后修改于: 2023-12-03 14:49:23.325000             🧑  作者: Mango
在 JavaScript 中,如果我们有一个包含数字的字符串,有时我们需要从字符串中获取该数字。下面是几种方法,可以帮助您从 JavaScript 字符串中获取数字。
parseInt()
函数可解析一个字符串,并返回一个整数。如果参数不是一个字符串,则将其转换为字符串。该函数从字符串的开头开始解析,直到找到一个非数字字符为止,然后返回已解析数字部分。
let myString = "123";
let myNumber = parseInt(myString);
在上面的示例中,我们首先定义了一个包含数字的字符串 myString
。然后,我们使用 parseInt()
函数从该字符串中获取数字,并将其存储在 myNumber
变量中。
值得注意的是,如果字符串中的第一个字符无法被转换为数字,则 parseInt()
返回 NaN
。此外,parseInt()
还支持将字符串转换为指定进制的数字,例如:
let myString = "1010";
let myNumber = parseInt(myString, 2); // 将字符串解析为二进制数字
在上面的示例中,我们将字符串 "1010"
解析为一个二进制数字,并将其存储在变量 myNumber
中。
parseFloat()
函数可解析一个字符串,并返回一个浮点数。该函数从字符串的开头开始解析,直到遇到非数字字符为止,然后返回已解析数字部分。
let myString = "3.14";
let myNumber = parseFloat(myString);
在上面的示例中,我们首先定义了一个包含浮点数的字符串 myString
。然后,我们使用 parseFloat()
函数从该字符串中获取数字,并将其存储在 myNumber
变量中。
如果字符串无法解析为浮点数,则 parseFloat()
返回 NaN
。
我们也可以使用正则表达式来从 JavaScript 字符串中提取数字。下面是一个使用正则表达式的示例:
let myString = "Hello 123 World";
let myNumber = Number(myString.match(/\d+/)[0]);
在上面的示例中,我们首先定义了一个字符串 myString
,其中包含一个数字 '123'
。我们使用正则表达式 /\d+/
匹配字符串中的数字。该正则表达式意味着:匹配一个或多个连续的数字。然后,我们使用 Number()
函数将匹配到的数字字符串转换为数字,并将其存储在 myNumber
变量中。
如果字符串中没有数字,则 match()
返回 null
。因此,在使用 match()
函数之前,应该检查 null
值并采取适当的措施。
以上是从 JavaScript 字符串中获取数字的几种方法。您可以根据自己的需求选择其中之一。在使用这些方法之前,请确保您的字符串确实包含数字,并采取适当的措施以处理无效值的情况。