parseInt
是 JavaScript 中的一个内置函数,用于将字符串转换为整数。它接受两个参数:要转换的字符串和进制基数(可选,默认为 10)。parseInt
函数会解析字符串,并返回一个整数,或者在无法解析时返回 NaN
。
parseInt
返回的整数范围受 JavaScript 中数字类型的限制,即 -2^53 + 1
到 2^53 - 1
(即 -9007199254740991
到 9007199254740991
)。parseInt
解析十进制数。parseInt
来解析这些进制,因为其行为在不同环境中可能不一致。// 十进制转换
console.log(parseInt("123")); // 输出: 123
// 十六进制转换
console.log(parseInt("1A", 16)); // 输出: 26
// 八进制转换(不推荐)
console.log(parseInt("10", 8)); // 输出: 8
// 二进制转换(不推荐)
console.log(parseInt("10", 2)); // 输出: 2
// 错误示例
console.log(parseInt("abc")); // 输出: NaN
parseInt
返回 NaN
原因:
解决方法:
parseInt
之前,检查字符串是否以数字开头。function safeParseInt(str) {
if (/^\d+$/.test(str)) {
return parseInt(str, 10);
} else {
console.error("Invalid input:", str);
return NaN;
}
}
console.log(safeParseInt("123")); // 输出: 123
console.log(safeParseInt("abc")); // 输出: NaN 并打印错误信息
parseInt
解析八进制和二进制时的不一致性原因:
解决方法:
parseInt
解析八进制和二进制字符串。Number
构造函数和前缀(如 0o
表示八进制,0b
表示二进制)。// 八进制
console.log(Number("0o10")); // 输出: 8
// 二进制
console.log(Number("0b10")); // 输出: 2
通过这些方法和注意事项,可以更有效地使用 parseInt
函数,并避免常见的陷阱。
高校公开课
云+社区沙龙online第6期[开源之道]
TVP「再定义领导力」技术管理会议
Elastic Meetup Online 第四期
小程序·云开发官方直播课(数据库方向)
领取专属 10元无门槛券
手把手带您无忧上云