在JavaScript中,将字符串转换为整数可以使用 parseInt()
函数。这个函数接受两个参数:第一个是要转换的字符串,第二个是可选的基数(表示字符串是几进制的数字)。如果没有指定基数,parseInt()
会根据字符串格式自动推断基数(直到遇到非数字字符为止)。
以下是将字符串转换为整数的示例:
const str = "123";
const num = parseInt(str);
console.log(num); // 输出:123
如果字符串以非数字字符开头,parseInt()
会返回 NaN
(Not a Number):
const str = "abc123";
const num = parseInt(str);
console.log(num); // 输出:NaN
为了确保转换的准确性,你可以指定基数,尤其是当你的字符串表示的是一个二进制数、八进制数或十六进制数时:
const binaryStr = "1011"; // 二进制字符串
const binaryNum = parseInt(binaryStr, 2); // 指定基数为2
console.log(binaryNum); // 输出:11
const octalStr = "17"; // 八进制字符串
const octalNum = parseInt(octalStr, 8); // 指定基数为8
console.log(octalNum); // 输出:15
const hexStr = "A"; // 十六进制字符串
const hexNum = parseInt(hexStr, 16); // 指定基数为16
console.log(hexNum); // 输出:10
请注意,从ECMAScript 2015(ES6)开始,如果你想要转换的字符串表示的是一个十进制数,你也可以使用 Number
函数,它在转换时会默认使用基数10:
const str = "123";
const num = Number(str);
console.log(num); // 输出:123
使用 Number
函数可以简化代码,但如果你确实需要处理特定进制的数值,那么 parseInt()
仍然是必要的。