📜  将字符串反应为整数 - Javascript (1)

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

将字符串反应为整数 - JavaScript

在开发中,我们经常需要将字符串转换为整数。在 JavaScript 中,我们可以使用内置函数 parseInt()Number() 来完成这个任务。但是,在使用这些函数之前,我们需要清楚它们的区别和使用注意事项。

parseInt()

parseInt() 函数将字符串解析为整数,并返回整数结果。它有两个参数:要转换的字符串和一个表示数字系统的基数。

下面是一个示例:

const num = parseInt("123", 10);
console.log(num); // 123

在这个例子中,我们将字符串 "123" 转换为基数为 10 的整数。

如果省略基数,则 parseInt() 将根据字符串的前缀来判断数字系统的基数。例如,如果字符串以 “0x” 开头,则 parseInt() 将使用基数 16。这可能导致一些不必要的问题,因此我们建议始终明确指定基数。

const num = parseInt("0xFF");
console.log(num); // 255

在这个例子中,我们使用省略基数的方式将字符串 "0xFF" 转换为基数为 16 的整数。

需要注意的是,parseInt() 在解析数字时会忽略前导空格和字符串末尾的非数字字符。

const num = parseInt(" 123");
console.log(num); // 123

const num2 = parseInt("123abc");
console.log(num2); // 123

在这两个例子中, parseInt() 分别忽略了前导空格和字符串末尾的 “abc”。

另外,parseInt() 还有一个特殊的行为,就是将负数标识为负符号“-”后,解析后面的数字。

const num = parseInt("-123");
console.log(num); // -123

这个例子中,parseInt() 解析了负数标识符 “-” 后的整数 “123”。

Number()

parseInt() 不同,Number() 函数可以将除了纯数字字符串之外的任何值转换为数字。如果转换失败,则返回 NaN(非数字)。

下面是一个示例:

const num = Number("123");
console.log(num); // 123

const num2 = Number("abc");
console.log(num2); // NaN

在这个例子中,我们使用 Number() 将字符串 "123" 转换为数字,将字符串 "abc" 转换为 NaN

需要注意的是,Number() 在解析数字时同样会忽略前导空格和字符串末尾的非数字字符。

const num = Number(" 123 ");
console.log(num); // 123

在这个例子中,Number() 忽略了字符串中的前导空格和末尾的空格。

结论

使用 parseInt()Number() 可以将字符串转换为整数或数字。在实际开发中,我们需要根据具体的需求选择合适的函数,并且要注意这些函数的使用注意事项,例如基数的指定,前导空格和末尾非数字字符的忽略等。