JavaScript 中将字符串转换为数字的 7 种方法

2025-05-26

JavaScript 中将字符串转换为数字的 7 种方法

1. 使用 parseInt()

parseInt()解析字符串并返回一个整数。允许使用空格。仅返回第一个数字。
但是,此方法有一个限制。如果解析的是十进制数,它将被四舍五入为最接近的整数值,并将该值转换为字符串。可能需要使用parseFloat()方法进行字面量转换。

myString = '129' 
console.log(parseInt(myString)) // expected result: 129

a = 12.22
console.log(parseInt(a)) // expected result: 12
Enter fullscreen mode Exit fullscreen mode

2. 使用 Number()

Number()可用于将 JavaScript 变量转换为数字。我们可以用它将字符串转换为数字。
如果值无法转换为数字,NaN则返回 。

Number("10");          // returns 10
Number(" 10  ");       // returns 10
Number("10.33");       // returns 10.33
Enter fullscreen mode Exit fullscreen mode

3. 使用一元运算符(+)

一元加法运算符 ( +) 位于其操作数之前并计算其操作数,但如果尚未转换为数字,则尝试将其转换为数字。

const x = 25;
const y = -25;
console.log(+x); // expected output: 25
console.log(+y); // expected output: -25
console.log(+''); // expected output: 0
Enter fullscreen mode Exit fullscreen mode

4. 使用 parseFloat()

parseFloat()解析字符串并返回一个数字。允许使用空格。仅返回第一个数字。

parseFloat("10");        // returns 10
parseFloat("10.33");     // returns 10.33
parseFloat("10 20 30");  // returns 10
parseFloat("10 years");  // returns 10
parseFloat("years 10");  // returns NaN
Enter fullscreen mode Exit fullscreen mode

5. 使用 Math.floor()

Math.floor()函数返回小于或等于给定数字的最大整数。对于小数来说,这可能有点棘手,因为它会返回最接近的整数作为Number

str = '1222'
console.log(Math.floor(str)) // returns 1222

a = 12.22
Math.floor(a) // expected result: 12
Enter fullscreen mode Exit fullscreen mode

6. 与数字相乘

将字符串值与其1相乘不会改变值,并且默认情况下它将被转换为数字。

str = '2344'
console.log(str * 1) // expected result: 2344
Enter fullscreen mode Exit fullscreen mode

7. 双波浪号(~~)运算符

我们可以使用双波浪号运算符将字符串转换为数字。

str = '1234'
console.log(~~str) // expected result: 1234
negStr = '-234'
console.log(~~negStr) // expected result: -234
Enter fullscreen mode Exit fullscreen mode

以下是上述方法在性能方面的比较。如果您还有其他方法,请在下面评论。
谢谢

文章来源:https://dev.to/sanchithasr/7-ways-to-convert-a-string-to-number-in-javascript-4l
PREV
⚗️ 面向初学者的 React Redux CRUD 应用程序 [使用 Hooks] 内容 Redux 与 React Context API 和 useReducer Redux 的优势 🔨 1. 设置 👪 2. 从状态加载用户 ➕ 3. 添加新用户 🔧 4. 编辑用户 🗑️ 5. 删除用户 ✨ 6. 异步加载新用户
NEXT
⚡️ 完整的 TypeScript 初学者课程 [免费!]