JavaScript 字符串转换为数字79


在 JavaScript 中,将字符串转换为数字是一项常见操作。有几种不同的方法可以实现此转换,每种方法都有其优点和缺点。

parseInt()

parseInt() 方法是将字符串转换为整数的内置函数。它接受两个参数:要转换的字符串和可选的基数。基数指定字符串中数字的基数,默认为 10(十进制)。
const num = parseInt("123"); // 123
const numWithBase = parseInt("101", 2); // 5

如果字符串包含非数字字符或无法分析为数字,则 parseInt() 将返回 NaN(非数字)。

parseFloat()

parseFloat() 方法与 parseInt() 类似,但它用于将字符串转换为浮点数。它也接受两个参数:要转换的字符串和可选的小数点分隔符。小数点分隔符指定字符串中十进制分隔符的字符,默认为点(.)。
const num = parseFloat("123.45"); // 123.45
const numWithSeparator = parseFloat("123,45", ","); // 123.45

如果字符串包含非数字字符或无法分析为数字,则 parseFloat() 将返回 NaN(非数字)。

Number()

Number() 构造函数可用于将字符串转换为数字。它接受一个参数:要转换的字符串。
const num = Number("123"); // 123
const numWithDecimal = Number("123.45"); // 123.45

与 parseInt() 和 parseFloat() 不同,Number() 在转换数字时不会丢失精度。它还会将字符串中的任何非数字字符转换为 NaN。

+ 运算符

+ 运算符可以通过在字符串前加上加号 (+) 来将字符串转换为数字。这会强制 JavaScript 将字符串解释为数字。
const num = +"123"; // 123
const numWithDecimal = +"123.45"; // 123.45

+ 运算符与 Number() 类似,它不会丢失精度并会将非数字字符转换为 NaN。

选择正确的转换方法

在选择转换字符串为数字的方法时,考虑以下因素:
精度:Number() 和 + 运算符不会丢失精度,而 parseInt() 和 parseFloat() 可能会丢失精度。
NaN 处理:Number() 和 + 运算符在转换非数字字符时会返回 NaN,而 parseInt() 和 parseFloat() 不会。
基数:parseInt() 可用于指定字符串中数字的基数,而 parseFloat() 和 Number() 不能。

通常,对于需要精度的应用程序或处理包含非数字字符的字符串,建议使用 Number() 或 + 运算符。对于处理整数或浮点数的简单应用程序,可以根据需要使用 parseInt() 或 parseFloat()。

2025-02-07


上一篇:如何将字符串转换为数字:JavaScript 完整指南

下一篇:JavaScript 入门经典:从零基础到精通