javaScript进制之间相互转换

相关API介绍

numObj.toString([radix])

方法返回指定 Number 对象的字符串表示形式。

作用:将10进制的数字转为任意进制(默认是转10进制,对就是默认不转)

参数

  1. radix:
    指定要用于数字到字符串的转换的基数(从2到36)。如果未指定 radix 参数,则默认值为 10。

parseInt(string, radix)

解析一个字符串并返回指定基数的十进制整数, radix 是2-36之间的整数,表示被解析字符串的基数。

作用:将任意进制转为10进制

参数

  1. string:
    要被解析的值。如果参数不是一个字符串,则将其转换为字符串(使用 ToString 抽象操作)。字符串开头的空白符将会被忽略

  2. radix 可选:
    从 2 到 36,表示字符串的基数。例如指定 16 表示被解析值是十六进制数。请注意,10不是默认值!

    1. 如果输入的 string以 "0x"或 “0x”(一个0,后面是小写或大写的X)开头,那么radix被假定为16,字符串的其余部分被当做十六进制数去解析。
    2. 如果输入的 string以 “0”(0)开头, radix被假定为8(八进制)或10(十进制)。具体选择哪一个radix取决于实现。ECMAScript 5 澄清了应该使用 10 (十进制),但不是所有的浏览器都支持。因此,在使用parseInt 时,一定要指定一个 radix
    3. 如果输入的 string 以任何其他值开头, radix 是 10 (十进制)。

0b11 0o11 0x11 分别进行将2,8,16进制的数转为10进制

实现

只要不是10进制的数字先使用parseInt转为10进制,在使用Number.toString转为其他进制

例子

// 2to8
let two = 111111 // 假设为二进制
console.log(parseInt(two, 2)) // 2进制先转10进制
console.log(parseInt(two, 2).toString(8)) // 10进制转8进制
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值