JavaScript 数据处理 - parseInt 函数解读(参数 str 解读、参数 radix 解读)

发布于:2025-06-19 ⋅ 阅读:(10) ⋅ 点赞:(0)

parseInt() 函数

1、基本介绍
parseInt(str, radix);

parseInt 函数用于将字符串转换为整数

参数 说明 是否可选
str 要被解析的字符串 必需
radix 进制,范围为 2 ~ 36 可选
2、演示
let result1 = parseInt("123");
let result2 = parseInt("123abc");
let result3 = parseInt("");
let result4 = parseInt();

console.log(result1);
console.log(result2);
console.log(result3);
console.log(result4);
# 输出结果

123
123
NaN
NaN

参数 str 解读

  1. 忽略字符串前后的空格
let result1 = parseInt(" 123");
let result2 = parseInt("123 ");
let result3 = parseInt(" 123 ");

console.log(result1);
console.log(result2);
console.log(result3);
# 输出结果

123
123
123
  1. 如果第一个非空格字符不是数字或正负号,返回 NaN(注:单个正负号也返回 NaN
let result1 = parseInt("-");
let result2 = parseInt("+");
let result3 = parseInt("-123");
let result4 = parseInt("+123");
let result5 = parseInt("a");

console.log(result1);
console.log(result2);
console.log(result3);
console.log(result4);
console.log(result5);
# 输出结果

NaN
NaN
-123
123
NaN
  1. 解析直到遇到非数字字符为止
let result1 = parseInt("123");
let result2 = parseInt("123px");

console.log(result1);
console.log(result2);
# 输出结果

123
123
  1. 如果 str 为浮点数字符串,只返回整数部分
let result = parseInt("123.45");

console.log(result);
# 输出结果

123
  1. 如果 str 为空字符串,返回 NaN
let result = parseInt("");

console.log(result);
# 输出结果

NaN
  1. 如果 str 不是字符串,会先自动转换为字符串
console.log(String(5));
console.log(String(05));
console.log(String(0.000005));
console.log(String(0.0000005));

let result1 = parseInt(5);
let result2 = parseInt(05);
let result3 = parseInt(0.000005);
let result4 = parseInt(0.0000005);

console.log(result1);
console.log(result2);
console.log(result3);
console.log(result4);
# 输出结果

5
5
0.000005
5e-7
5
5
0
5

参数 radix 解读

  1. 如果省略 radix 或 radix 设为 0,则默认以 radix 为 10 来处理
let result1 = parseInt("123");
let result2 = parseInt("123", 0);

console.log(result1);
console.log(result2);
# 输出结果

123
123
  1. 如果省略 radix 或 radix 设为 0,str 以 0x0X 开头(十六进制字符串),则以 radix 为 16 来处理
let result1 = parseInt("0x123");
let result2 = parseInt("0x123", 0);
let result3 = parseInt("0X123");
let result4 = parseInt("0X123", 0);

console.log(result1);
console.log(result2);
console.log(result3);
console.log(result4);
# 输出结果

291
291
291
291
  1. 如果省略 radix 或 radix 设为 0,其他情况的 str(以 0 开头的八进制字符串、以 0b0B 开头的二进制字符串),则以 radix 为 10 来处理
let result1 = parseInt("0123");
let result2 = parseInt("0123", 0);

console.log(result1);
console.log(result2);
# 输出结果

123
123
let result1 = parseInt("0b123");
let result2 = parseInt("0b123", 0);
let result3 = parseInt("0B123");
let result4 = parseInt("0B123", 0);

console.log(result1);
console.log(result2);
console.log(result3);
console.log(result4);
# 输出结果

0
0
0
0
  1. 指定 radix 为常用进制
let result1 = parseInt("123", 10);
let result2 = parseInt("123", 16);
let result3 = parseInt("123", 8);
let result4 = parseInt("123", 2);

console.log(result1);
console.log(result2);
console.log(result3);
console.log(result4);
# 输出结果

123
291
83
1
  1. 指定 radix 为非常用进制
let result = parseInt("123", 3);

console.log(result);
# 输出结果

5
  1. 如果 radix 小于 2 或大于 36,返回 NaN
let result1 = parseInt("123", 1);
let result2 = parseInt("123", 37);

console.log(result1);
console.log(result2);
# 输出结果

NaN
NaN

网站公告

今日签到

点亮在社区的每一天
去签到