网站首页 > 技术文章 正文
数字进制转换
什么是进制
●进制就是达到指定位置时候进一位
●常见的进制
○十进制: 0 1 2 3 4 5 6 7 8 9 10 11 12 ... 99 100 101
○二进制: 0 1 10 11 100 101 110 111 1000
○八进制: 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21
○十六进制: 0 1 2 3 4 5 6 7 8 9 a b c d e f 10 ... 19 ... 1a 1b 1c 1d 1e 1f 20 21 ...
十进制转换成其它进制
●toString() 方法可以在数字转成字符串的时候给出一个进制数
○语法: toString(你要转换的进制)
○返回值:转换好进制以后的数字
■转换好的数字是字符串类型
var num = 100
console.log(num.toString(2)) // 1100100
console.log(num.toString(8)) // 144
console.log(num.toString(16)) // 64
其它进制转换成十进制
●parseInt() 方法可以在字符串转成数字的时候把字符串当成多少进制转成十进制
○语法: parseInt(要转换的字符串,当作几进制来转换)
○返回值:转换后的数字 你把数字当做几进制使用, 转换成十进制
■结果是数字类型
var str = 100
console.log(parseInt(str, 8)) // 64 把 100 当作一个 八进制 的数字转换成 十进制 以后得到的
console.log(parseInt(str, 16)) // 256 把 100 当作 十六进制 的数字转换成 十进制 以后得到的
console.log(parseInt(str, 2)) // 4 把 100 当作 二进制 的数字转换成 十进制 以后得到的
保留小数位
●作用:toFixed() 方法可把 Number 四舍五入为指定小数位数的数字。
●语法:数字.toFixed(要保留的小数点后的位数)
●返回值:返回一个小数点后有固定的 多少位数字的数字,是一个字符串类型
○小数位不够的时候, 使用 0 补齐
var n = 100.123
// 把 n 保留 2 位小数以后赋值给 res
var res = n.toFixed(2)
console.log(res) //100.12
//返回的是字符串类型
console.log(typeof res); //string
//保留的小数位数多余原数字的小数位数
var res1 = n.toFixed(4)
console.log(res1) //100.1230 保留的位数不够用0补齐
案例-随机整数封装
function fn(a, b) {
// 1. 确定两个数字的大小关系
var min = Math.min(a, b)
var max = Math.max(a, b)
// 2. 求出两数差
var sub = max - min
// 3. 求出 0 ~ sub 之间的随机整数
var r1 = Math.floor(Math.random() * (sub + 1))
// 4. 把 r1 + min
var res = r1 + min
return res
}
//优化上述方案1:
function fn(a, b) {
// 1. 确定两个数字的大小关系
var min = Math.min(a, b)
var max = Math.max(a, b)
return Math.floor(Math.random() * (max - min + 1)) + min
}
// 优化上述方案2:
function fn(a, b) {
return Math.floor(Math.random() * (Math.abs(a - b) + 1)) + Math.min(a, b)
}
案例-封装函数返回随机颜色字符串
// 这是我们分装好的 获取随机整数的方法
function randomNum(a, b) {
return Math.floor(Math.random() * (Math.abs(a - b) + 1)) + Math.min(a, b)
}
// rgb 颜色实现
// 先定义一个函数
function randomColor() {
// 定义一个颜色
var color = ''
// 设置我们的颜色
var r = randomNum(0, 255)
var g = randomNum(0, 255)
var b = randomNum(0, 255)
// 把我们的颜色拼接成rgb的格式
color = `rgb(${r},${g},${b})`
// 返回我们定义的颜色
return color
}
// 十六进制的颜色实现
function randomColor() {
// 定义一个字符串 , 因为是十六进制的所以我们在定义的时候就加上#
var color = '#'
// 因为我们需要三个随机数,我们就循环三次
for (var i = 0; i < 3; i++) {
// 得到0-255之间的随机数
var r = randomNum(0, 255)
// 判断我们得到的随机数是不是小于16,因为小于16的数转成
// 十进制是一位,不能满足我们的颜色要求 , 需要我们补一个 0
r = r < 16 ? '0' + r.toString(16) : r.toString(16)
// 拼接到我们的颜色字符串上
color += r
}
// 返回我们定义的颜色
return color
}
// // 使用
var res = randomColor()
console.log(res);
// document.body.style.backgroundColor = res
猜你喜欢
- 2024-11-01 Airbnb 开源力作:自动将 JavaScript 代码转换为 TypeScript
- 2024-11-01 JavaScript类型在什么情况下会发生类型自动转换
- 2024-11-01 js如何将接口get参数串转换成post格式输出
- 2024-11-01 【JS 字符转换】fromCharCode和charCodeAt
- 2024-11-01 几个JS开发小技巧,转换(js 开发)
- 2024-11-01 JavaScript将unicode编码转换为中文
- 2024-11-01 每日一题(js篇)通过js做进制转换(js 10进制转2进制)
- 2024-11-01 JavaScript-类型转换 224(javascript)
- 2024-11-01 基于Javascript编写的开源Markdown和HTML相互转换器——showdown
- 2024-11-01 一文读懂js中的隐式类型转换(js隐式调用)
- 02-21走进git时代, 你该怎么玩?_gits
- 02-21GitHub是什么?它可不仅仅是云中的Git版本控制器
- 02-21Git常用操作总结_git基本用法
- 02-21为什么互联网巨头使用Git而放弃SVN?(含核心命令与原理)
- 02-21Git 高级用法,喜欢就拿去用_git基本用法
- 02-21Git常用命令和Git团队使用规范指南
- 02-21总结几个常用的Git命令的使用方法
- 02-21Git工作原理和常用指令_git原理详解
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)