JavaScript数学对象之数字进制转换
数字进制转换
什么是进制
进制就是达到指定位置时候进一位
常见的进制
十进制: 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
以上就是JavaScript数学对象——数字进制转换的详细内容,更多关于JavaScript数字进制转换的资料请关注脚本之家其它相关文章!
相关文章
JavaScrip如何安全使用Payment Request API详解
这篇文章主要为大家介绍了JavaScrip如何安全使用Payment Request API详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2022-10-10
最新评论