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:不用前缀. 二 ...
随机推荐
- bzoj4773 负环 倍增+矩阵
题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=4773 题解 最小的负环的长度,等价于最小的 \(len\) 使得存在一条从点 \(i\) 到自 ...
- centos 6.5 安装 dubbo 管理中心
从http://pan.baidu.com/s/1dDlI7aL下载dubbo-admin-2.5.4.war包,将下载的包放在tomcat的webapps目录,启动tomcat自动解压该war包,然 ...
- 【leetcode】1031. Maximum Sum of Two Non-Overlapping Subarrays
题目如下: Given an array A of non-negative integers, return the maximum sum of elements in two non-overl ...
- java File过滤文件的多种方法
package com.qf.part1; import java.io.File; import java.io.FileFilter; import java.io.IOException; pu ...
- OC + RAC (五) RACMulticastConnection
-(void)_test5{ //弊端:有几个订阅者就会请求几次数据 // 1.创建信号 RACSignal *signal = [RACSignal createSignal:^RACDisposa ...
- .Net服务组件(ServicedComponent)简介及其使用
.NET Enterprise Services 为企业应用程序提供重要的基础结构.COM+ 为企业环境中部署的组件编程模型提供服务结构.System.EnterpriseServices命名空间向 ...
- s6tu
# -*- coding: utf-8 -*- # @Time : 2018/03/30 15:20 # @Author : cxa # @File : liuuchnagtu.py # @Softw ...
- Hive学习之路(一)Hive初识
Hive简介 什么是Hive Hive由Facebook实现并开源 是基于Hadoop的一个数据仓库工具 可以将结构化的数据映射为一张数据库表 提供HQL(Hive SQL)查询功能 底层数据是存储在 ...
- MATLAB 用 imresize() 函数缩小图象是 double 和 uint8 有差别
今天发现一个奇怪的现象. 在用 imresize() 缩小图象时,如果图象时 double 格式的,缩小后会产生不连通的现象. 下面是原图: 对这张图象 img 做 simg = imresize(i ...
- JVisualVM 模拟一次内存泄漏场景分析
首先贴一段内存泄漏的代码并且执行.(内存泄漏:GC回收不掉的实例对象) package com.example.demo.memoryLeakDemo; import com.example.demo ...