彻底掌握 parseInt

let arr = [1,2,3,4]
arr = arr.map(parseInt)
console.log(arr)

parseInt([value]): 把value转换为数字,要求value是字符串(不是字符串先默认转换为字符串) ,从字符串左边开始查找,找到有效数字字符转换为数字(遇到一个非有效的数字字符,则停止查找)

16进制
1,2,3,4,5,6,7,8,9,A(10),B(11),C(12),D(13),E(14),F(15),G(16)

parselnt(string, radix)
将一个字符串string转换为radix( 2~36 )进制的整数( =>把string看做radix进制,最后转换为10进制)

  • radix省略或者为0 ,则radix默认按照10进行处理(特殊; 字符串以0x/oX开头,radix默认按照16进行处理)
  • radix不在2~36之间,最后结果都为NaN

parseInt( [value], [radix]):首先[value]是这个字符串,他是把这个值看做[radix]这个进制,然后最后转换为10进制的数字

parseInt(‘2AF5’, 16); //=>把 ’ 2AF5 '当做16进制,最后转换为10进制
5×16^0 + 15×16^1 + 10×16^2 + 2×16^3
5×1 + 15×16 + 10×16×16 + 2×16×16×16 = 10997

‘72.45’ => 58.578125
2×8^0 + 7×8^1 + 4×8^-1 + 5×8^-2
2×1 + 7×8+ 4×(1/8)+ 5×(1/(8×8))

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

parseInt(‘23461’, 5);
‘234’ 看做5进制, 转换为10进制
4×5^0 + 3×5^1 + 2×5^2
4+3×5+2×5×5 = 69

parseInt和parseFloat的区别

默认只传递一个值的时候,float多识别一个小数点
支持 进制基础
都是转化为数字字符串 从左到右

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值