JavaScript的进制转换
先介绍两个API:
一、number 类型的 toString 方法
语法
numberObject.toString( [ radix ] )
参数
| 参数 | 描述 |
|---|---|
| radix | 可选/Number类型指定的基数(进制数),默认为10。 |
参数radix支持 [2, 36] 之间的整数。例如:参数值为2,则表示二进制;为8,则表示八进制;为16,则表示十六进制。
如果省略参数radix,则默认为10(十进制)。
返回值
toString()函数的返回值为String类型,返回该数字指定进制形式的字符串。
二、string 转 number 的方法
语法
parseInt( numString [, radix ] )
参数
| 参数 | 描述 |
|---|---|
| numString | String类型需要转换为整数的字符串。 |
| radix | 可选/Number类型指定的进制基数。 |
参数radix可以是一个介于 [2, 36] 之间的数值。例如:参数radix为2,则将numString视作二进制;参数radix为8,则视作八进制;参数radix为16,则视作十六进制。
如果没有提供radix参数,则parseInt()函数将会根据参数numString的前缀来决定转换的进制基数。如果numString的前缀是0x
,则转换为十六进制;如果前缀是0
,则转换为八进制;其他情况均转换为十进制。
返回值
parseInt()函数的返回值为Number类型,返回转换后的整数。
如果指定的字符串中包含非数字字符,只要字符串开头的一部分符合整数的转换规则,则parseInt()函数会将这一部分字符串转化为整数(从字符串开头,直到遇到非数字字符为止)。如果字符串以非数字字符开头,则返回NaN。
上代码!
数字转2进制
(100).toString(2) // "1100100"
数字转8进制
(100).toString(8) // "144"
数字转16进制
(100).toString(16) // "64"
16进制转10进制
parseInt(0x64) // 100
parseInt('0x64') //
parseInt('0x64',16) // 100 第二参数写了更好,以免迷糊
parseInt('ff') // NaN
parseInt('ff',16) // 255 这里没有0x打头,必须要注明要转的基数
8进制转10进制
parseInt(0100); // 64 先转成字符串,再以8进制解析
parseInt("0100",8); // 64 正确写法,无歧义 !!!
parseInt("0100"); // 100 官方表示不确定:但是测试结果,谷歌浏览器当成10进制输入。所以不建议这样写
2进制转10进制
parseInt("11",2); //返回 3
补充
ES6支持二进制和八进制的字面量
1、在数字前面添加 0o 或者 0O 即可将其转换为八进制
2、在数字前面添加 0b 或者 0B 即可将其转换为二进制
let oValue = 0o10;
console.log(oValue); // let bValue = 0b10;
console.log(bValue); //
Thanks for watching !
JavaScript的进制转换的更多相关文章
- 【JavaScript】进制转换&位运算,了解一下?
前言 在一般的代码中很少会接触到进制和位运算,但这不代表我们可以不去学习它.作为一位编程人员,这些都是基础知识.如果你没有学过这方面的知识,也不要慌,接下来的知识并不会很难.本文你将会学习到: 进制转 ...
- JavaScript:进制转换。
最近做了一些进制的转换的点. 十进制转二进制: let a = 45; a.toString(2); //"101101" let b = 123; b.toString(2); ...
- javascript 数字进制转换
//十进制转其他 var x=110; alert(x); alert(x.toString(8)); alert(x.toString(32)); alert(x.toString(16)); // ...
- javascript 10进制和64进制的转换
原文:javascript 10进制和64进制的转换 function string10to64(number) { var chars = '0123456789abcdefghigklmnopqr ...
- javascript . 04 匿名函数、递归、回调函数、对象、基于对象的javascript、状态和行为、New、This、构造函数/自定义对象、属性绑定、进制转换
匿名函数: 没有名字的函数,函数整体加小括号不报错, 函数调用 : a:直接调用 (function (){函数体}) ( ) ; b:事件绑定 document.onlick = functio ...
- JavaScript中进制之间的转换
JavaScript中进制之间的转换 //十进制转其他 var x = 100; alert(x); alert(x.toString(2)); //转2进制 alert(x.toString(8)) ...
- JavaScript下的进制转换
JavaScript下的进制转换 //十进制转其他进制 var num = 99; console.log('十进制: ', num); console.log('八进制:', (num).toStr ...
- 11 JavaScript Number原始值&对象&科学记数法&范围&进制转换&溢出Infinity&NaN
JavaScript Number对象 是经过封装的能处理数字值的对象 由Number()构造器创建 只有一种数字类型 可以使用也可以不使用小数点书写数字 JavaScript原始值与对象: 在Jav ...
- JavaScript中的多种进制与进制转换
进制介绍 JavaScript 中提供的进制表示方法有四种:十进制.二进制.十六进制.八进制. 对于数值字面量,主要使用不同的前缀来区分: 十进制(Decimal): 取值数字 0-9:不用前缀. 二 ...
随机推荐
- css 伪类选择器:checked实例讲解
css :checked伪类选择器介绍 css :checked伪类选择器用于选择匹配所有被选中的单选按钮(radio)或复选框(checkbox),你可以结合:checked伪类选择器和:not选择 ...
- BitMap位图
BitMap位图算法https://blog.csdn.net/varyall/article/details/79662029 常见面试题 题1:在2.5亿个整数找出不重复的整数,内存不足以容纳着2 ...
- Sublime-Text macOS 编译运行armadillo
{ "cmd" : ["g++ -std=c++14 -Wall -larmadillo -framework Accelerate ${file_name} -o ${ ...
- No module named flask 导包失败,Python3重新安装Flask模块
在部署环境过程中,通过pip install -r requirements.txt安装包,结果启动项目时总是报错,显示没有flask模块,通过pip install flask还是不行,于是下载fl ...
- 【leetcode】1037. Valid Boomerang
题目如下: A boomerang is a set of 3 points that are all distinct and not in a straight line. Given a lis ...
- redis学习 --List
1:添加 lpush rpush 如果没有key的话,会报错. lpushx rpushx 如果没有key的话,不做任何反应. 2:得到 lpop rpop ...
- python 全栈开发,Day45(html介绍和head标签,body标签中相关标签)
一.html介绍 1.web标准 web准备介绍: w3c:万维网联盟组织,用来指定web标准的机构(组织) web标准:制作网页遵循的规范 web准备规范的分类:结构标准.表现标准.行为标准. 结构 ...
- 2017ICPC沈阳网络赛 HDU 6205 -- card card card(最大子段和)
card card card Time Limit: 8000/4000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)To ...
- [CSP-S模拟测试]:Park(树上DP)
题目描述 公园里有$n$个雕像,有$n-1$条道路分别连接其中两个雕像,任意两个雕像可以直接或间接相连.现在每个景点$i$聚集着$P_i$只鸽子,旅行家手里有$v$数量的面包屑. 一旦旅行家在雕像$i ...
- GCD 和 NSOperationQueue 的差别
http://stackoverflow.com/questions/10373331/nsoperation-vs-grand-central-dispatch http://www.cocoach ...