JavaScript - 专题 - 彻底搞懂parseInt

parseInt

  • parseInt([value]) : 把VALUE转换为数字,要求VALUE是字符串(不是字符串的先默认转为字符串),从字符串左边开始查找,找到有效数字字符转换为数字,遇到一个非有效数字字符则停止查找。
  • parseInt([value],[radix]) :首先[value]是个字符串,把[value]看做[radix]进制的字符串,找到符合[radix]进制的有效数字字符串,再转换为10进制的数字。
    • [radix]省略或者为0,则radix默认按照十进制进行处理(特殊:字符串以0X/oX开头,radix默认按照十六进制处理)
    • [radix]不在2~36之间,最后结果都是NaN。
    • 把N进制的值转换为十进制:第0位权值 * N^0,第一位权值 * N^1 … 最后相加。
parseInt("72.45", 8);
// 2*8^1 + 7*8^1 + 4 * 8^-1 + 5*8^-2
// 2*1 + 7*8 + 4*(1/8) + 5*(1/(8*8))
// 58.578125

parseInt("231",3);
//3进制只能是0~2,所以查找到3的时候,发现已经不是3进制的范畴了,则不再继续查找
//把2当做3进制,最后转为10进制
// 2*3^0 
// 2

//面试题
 let arr = [1, 2, 3, 4];
 arr = arr.map(parseInt);
 console.log(arr);
 
 /*
 parseInt(1,0) => 1
 parseInt(2,1) => NaN
 parseInt(3,2) => NaN
 parseInt(4,3) => NaN
 => [1,NaN,NaN,NaN]
 */
 
 /*
 arr.map(function(item, index){
   console.log(item,index);  
   //返回结果替换数组中当前迭代的这一项
 })
 */ 

parseInt VS parseFloat

  1. 默认值传递一个值的时候,parseFloat多识别一个小数点。
  2. parseInt支持进制基础,可传两个参数,parseFloat不识别第二个参数。
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值