数据类型相互转换-转为数字

2022-04-17  本文已影响0人  maomizone

Number([val])

parseInt([val], [radix])   parseFloat([val])

@1 [val]值必须是字符串,如果不是先转换为字符串,基于方法String([val]),这个方法遇到对象可以参考上方的对象转数字@6,只是最后一步没有
@2 [radix]进制
- 如果不写,或者写0:默认是10(特殊情况:如果字符串以0x开始的,默认值是16)
- 有效范围2-36(如果不在这个区间,直接返回NaN)
@3 从[val]字符串左侧第一个字符开始查找,查找出符合[radix]进制的值(遇到不符合的就结束查找),把找到的内容,按照[radix]进制转换为10进制

   console.log(parseInt('10102px13', 2)); // 10
   // 找到符合二进制的'1010'
   // 二进制转十进制:按权展开求和
   // 1*2^3 + 0*2^2 + 1**2^1 + 0*2^0 = 10
     console.log(parseInt(0013, 2)); // 3
     // js遇到以0开头的数字,会默认把其按照8进制转为10进制,然后再进行其他的操作
     // 0013先8转10 0*8^3 + 0*8^2 + 1*8^1 + 3*8^0 = 11
     // parseInt('11', 2)
     // 二进制转十进制:按权展开求和
     // 1*2^1 + 1*2^0 = 3
Snipaste_2022-04-17_00-33-57.png
上一篇下一篇

猜你喜欢

热点阅读