项目中需要转换一个16进制数0x00000000000000000000000000000000000000001c0bed842bda49e0fc480000
,因为考虑到可能是一个小数,所以使用了parseFloat()方法,但是实际运用频繁报错.
深究原因如下:
1. parseFloat并不能做进制转换
2. 使用parseFloat(0x00000000000000000000000000000000000000001c0bed842bda49e0fc480000)正常,个人猜测并不是parseFloat()转换的,而是js本身转换得,因为在控制台直接输出0x00000000000000000000000000000000000000001c0bed842bda49e0fc480000,也能得到结果.
3. 进制转换应当使用parseInt(),第一个参数是字符串,第二个参数是这个字符串的进制,而且这个只能转成10进制.
4. r如果想转换成其他进制,可以用.toString()方法,参数是要转成的进制数.
5. 先用parseInt转成十进制再用toString转到目标进制
js中parseInt与parseFloat在进制转换的区别
最新推荐文章于 2023-01-30 11:15:40 发布