parseint js实现
parseInt 的基本用法
JavaScript 中的 parseInt 函数用于将字符串转换为整数。语法如下:
parseInt(string, radix);
string 是要解析的字符串,radix 是进制基数(介于 2 和 36 之间的整数)。如果省略 radix 或为 0,JavaScript 会根据字符串前缀自动推断进制(如 0x 开头为十六进制,0 开头可能为八进制或十进制)。
示例代码
// 十进制解析
console.log(parseInt("123")); // 输出: 123
// 十六进制解析
console.log(parseInt("0xFF")); // 输出: 255
// 指定进制基数
console.log(parseInt("1010", 2)); // 输出: 10(二进制转十进制)
// 自动推断进制
console.log(parseInt("0123")); // 输出: 123(ES5 后默认十进制)
注意事项
-
非数字截断:
parseInt会忽略字符串中无效的数字字符后的内容。console.log(parseInt("123abc")); // 输出: 123 -
NaN 处理:如果第一个字符无法转换为数字,返回
NaN。console.log(parseInt("abc123")); // 输出: NaN -
进制基数限制:
radix超出 2~36 范围时返回NaN。console.log(parseInt("10", 37)); // 输出: NaN
与 Number() 和 + 的区别
-
Number()和+会尝试将整个字符串转换为数字,失败则返回NaN。console.log(Number("123abc")); // 输出: NaN console.log(+"123abc"); // 输出: NaN -
parseInt更适用于提取字符串开头的整数部分。
实际应用场景
解析用户输入的数值时,优先指定 radix 避免意外行为:
const userInput = "08";
console.log(parseInt(userInput, 10)); // 明确十进制,输出: 8
处理 CSS 单位时剥离数字:

const cssValue = "32px";
console.log(parseInt(cssValue)); // 输出: 32






