js任意进制转换(二进制,八进制,十进制...三十六进制)

进制转换只能发生在数字上,也就是Number类型,所以要进行进制转换,那就是需要用到Number类型上的方法了,有两种方法:

  1. parseInt(string , radix)或者parseInt(string , radix),前者是全局的方法,是以前的规范,现在规范改了变成了Number下面的方法。
  2. Number.toString(radix)

但是由于大部分语言只支持八进制,十进制和十六进制的字面量数值,所以js在进行转换的时候,只能在字符串和数字类型之间转换,即只能将其他进制的字符串转换为十进制的数字,或者将十进制的数字转换为其他进制的字符串。

var a = 0xa;//0x表示十六进制,但是js会强制转换为十进制来运算,0xa == 10
var b = 010;//0开头表示八进制,同样强制转换为十进制来运算 010 = 8
a*b //= 80
一、Number.parseInt(string , radix)

这个是把字符串(只能由字母和数字组成),这个只能是由低进制转高进制,如二进制转八进制,但是八进制不能转二进制,radix表示进制,取值2~36。

Number.parseInt('010',8)//8
Number.parseInt('20',2)//NaN
二、Number.toString(radix)

这个函数只能将十进制数字转换为任意进制的字符串形式,同样,radix表示进制,取值2~36。

(10).toString(2)//"1010"转2进制
(10).toString(16)//"a" 转16进制
(1000).toString(36)//"rs" 转36进制
  • 8
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值