浅谈parseInt

浅谈parseInt:

Radix:

parseInt(string, Radix)

  1. 解析一个字符串(string)并返回指定基数(Radix)的十进制整数,
  2. Radix 2-36之间的整数,要解析成整数的字符串多少进制–>进制数------> 十进制整数
/*
*'10' 被当作2进制数-> 10进制的整数->返回
*/
console.log(parseInt('10', 2))

/*
* 参数
*  string - 如果不是字符串 ->toString(开头空白的忽略)
*  radix -> 2-36   16解析的整数的字符串是16进制
*  返回值
*/
console.log(parseInt('123', 5))
/*
*  把'123'看作为5进制---> 转换为十进制
*  数字 × 进制数^ (数字位数 - 1) + 数字 × 进制数^ (数字位数 - 2) + 数字 × 进制数^ (数字位数 - 3)
*   1 ×  5 ^ 2   +  2 ×  5 ^ 1  +  3 ×  5 ^ 0
*   1 * Math.pow(5, 2) + 2 * Math.pow(5, 1) + 3 * Math.pow(5, 0)
*/
console.log(parseInt('101', 2))
/*
 * 把'101'看作为2进制---> 转换为十进制
 * 数字 × 进制数^ (数字位数 - 1) + 数字 × 进制数^ (数字位数 - 2) + 数字 × 进制数^ (数字位数 - 3)
 * 1 ×  2 ^ 2   +  0 ×  2 ^ 1  +  1 ×  2 ^ 0
 * 1 * Math.pow(2, 2) + 0 * Math.pow(2, 1) + 1 * Math.pow(2, 0)
 */

console.log(parseInt('0x629eb', 16))
/*
 * 0x629eb  ->16进制  -> 0-9 a-f  10-> 15
 * 把'629eb'看作为16进制---> 转换为十进制
 * 6 * Math.pow(16, 4) + 2 * Math.pow(16, 3) + 9 * Math.pow(16, 2) + 14 * Math.pow(16, 1) + 11 * Math.pow(16, 0)
 */
 
 console.log(parseInt('123', 8))
/*
 * 1 * Math.pow(8, 2) + 2 * Math.pow(8, 1) + 3 * Math.pow(8, 0)
 */
流程
  1. 可能会转字符串 toString
  2. 对字符串进行整数解析
  3. 返回整数或NaN
--------------------------------------

parseInt的字符串不符合radix基数的数字要求
parseInt(‘123’, 2)
parseInt(‘123’, 2)
从不符合该进制要求的数字开始忽略后续的所有字符

---------------------------------------

**支持 + -
去掉开头空格
1.去掉符号
2.对数字进行解析

---------------------------------------

parseInt radix 默认值 -> 10进制
0x 0X开头 -> 16进制
0开头 ->8进制、10进制 (ES5规范 10进制)->都要写清楚radix
01-> 1 02-> 2
其他开头 --------10进制**

/*
* parseInt -> NaN
* 数字转换为相应进制的字符串数字 toString
* (3).toString(2)-> 3作为10进制-> 2进制(字符串)
*/
let filterInt = function (value) {
  if(/^(\-|\+)?([0-9]+|Infinity)$/test(value)) {
     return Number(value);
  }
  return NaN
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值