JavaScript數(shù)學(xué)對象之?dāng)?shù)字進(jìn)制轉(zhuǎn)換
數(shù)字進(jìn)制轉(zhuǎn)換
什么是進(jìn)制
進(jìn)制就是達(dá)到指定位置時候進(jìn)一位
常見的進(jìn)制
十進(jìn)制: 0 1 2 3 4 5 6 7 8 9 10 11 12 ... 99 100 101
二進(jìn)制: 0 1 10 11 100 101 110 111 1000
八進(jìn)制: 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21
十六進(jìn)制: 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 ...
十進(jìn)制轉(zhuǎn)換成其它進(jìn)制
toString() 方法可以在數(shù)字轉(zhuǎn)成字符串的時候給出一個進(jìn)制數(shù)
語法: toString(你要轉(zhuǎn)換的進(jìn)制)
返回值:轉(zhuǎn)換好進(jìn)制以后的數(shù)字
■轉(zhuǎn)換好的數(shù)字是字符串類型
var num = 100 console.log(num.toString(2)) // 1100100 console.log(num.toString(8)) // 144 console.log(num.toString(16)) // 64
其它進(jìn)制轉(zhuǎn)換成十進(jìn)制
parseInt() 方法可以在字符串轉(zhuǎn)成數(shù)字的時候把字符串當(dāng)成多少進(jìn)制轉(zhuǎn)成十進(jìn)制
語法: parseInt(要轉(zhuǎn)換的字符串,當(dāng)作幾進(jìn)制來轉(zhuǎn)換)
返回值:轉(zhuǎn)換后的數(shù)字 你把數(shù)字當(dāng)做幾進(jìn)制使用, 轉(zhuǎn)換成十進(jìn)制
■結(jié)果是數(shù)字類型
var str = 100 console.log(parseInt(str, 8)) // 64 把 100 當(dāng)作一個 八進(jìn)制 的數(shù)字轉(zhuǎn)換成 十進(jìn)制 以后得到的 console.log(parseInt(str, 16)) // 256 把 100 當(dāng)作 十六進(jìn)制 的數(shù)字轉(zhuǎn)換成 十進(jìn)制 以后得到的 console.log(parseInt(str, 2)) // 4 把 100 當(dāng)作 二進(jìn)制 的數(shù)字轉(zhuǎn)換成 十進(jìn)制 以后得到的
保留小數(shù)位
作用:toFixed() 方法可把 Number 四舍五入為指定小數(shù)位數(shù)的數(shù)字。
語法:數(shù)字.toFixed(要保留的小數(shù)點后的位數(shù))
返回值:返回一個小數(shù)點后有固定的 多少位數(shù)字的數(shù)字,是一個字符串類型
小數(shù)位不夠的時候, 使用 0 補(bǔ)齊
var n = 100.123 // 把 n 保留 2 位小數(shù)以后賦值給 res var res = n.toFixed(2) console.log(res) //100.12 //返回的是字符串類型 console.log(typeof res); //string //保留的小數(shù)位數(shù)多余原數(shù)字的小數(shù)位數(shù) var res1 = n.toFixed(4) console.log(res1) //100.1230 保留的位數(shù)不夠用0補(bǔ)齊
案例-隨機(jī)整數(shù)封裝
function fn(a, b) { // 1. 確定兩個數(shù)字的大小關(guān)系 var min = Math.min(a, b) var max = Math.max(a, b) // 2. 求出兩數(shù)差 var sub = max - min // 3. 求出 0 ~ sub 之間的隨機(jī)整數(shù) var r1 = Math.floor(Math.random() * (sub + 1)) // 4. 把 r1 + min var res = r1 + min return res } //優(yōu)化上述方案1: function fn(a, b) { // 1. 確定兩個數(shù)字的大小關(guān)系 var min = Math.min(a, b) var max = Math.max(a, b) return Math.floor(Math.random() * (max - min + 1)) + min } // 優(yōu)化上述方案2: function fn(a, b) { return Math.floor(Math.random() * (Math.abs(a - b) + 1)) + Math.min(a, b) }
案例-封裝函數(shù)返回隨機(jī)顏色字符串
// 這是我們分裝好的 獲取隨機(jī)整數(shù)的方法 function randomNum(a, b) { return Math.floor(Math.random() * (Math.abs(a - b) + 1)) + Math.min(a, b) } // rgb 顏色實現(xiàn) // 先定義一個函數(shù) function randomColor() { // 定義一個顏色 var color = '' // 設(shè)置我們的顏色 var r = randomNum(0, 255) var g = randomNum(0, 255) var b = randomNum(0, 255) // 把我們的顏色拼接成rgb的格式 color = `rgb(${r},${g},$)` // 返回我們定義的顏色 return color } // 十六進(jìn)制的顏色實現(xiàn) function randomColor() { // 定義一個字符串 , 因為是十六進(jìn)制的所以我們在定義的時候就加上# var color = '#' // 因為我們需要三個隨機(jī)數(shù),我們就循環(huán)三次 for (var i = 0; i < 3; i++) { // 得到0-255之間的隨機(jī)數(shù) var r = randomNum(0, 255) // 判斷我們得到的隨機(jī)數(shù)是不是小于16,因為小于16的數(shù)轉(zhuǎn)成 // 十進(jìn)制是一位,不能滿足我們的顏色要求 , 需要我們補(bǔ)一個 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數(shù)學(xué)對象——數(shù)字進(jìn)制轉(zhuǎn)換的詳細(xì)內(nèi)容,更多關(guān)于JavaScript數(shù)字進(jìn)制轉(zhuǎn)換的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
javascript實現(xiàn)劃詞標(biāo)記劃詞搜索功能修正版
javascript實現(xiàn)劃詞標(biāo)記劃詞搜索功能修正版...2006-12-12Javascript獲取HTML靜態(tài)頁面參數(shù)傳遞值示例
獲取HTML靜態(tài)頁面參數(shù)傳遞值可以利用split函數(shù)來按參數(shù)切成數(shù)組、利用正則表達(dá)式來獲取,具體實現(xiàn)如下,感興趣的朋友可以參考下2013-08-08JS/HTML5游戲常用算法之路徑搜索算法 隨機(jī)迷宮算法詳解【普里姆算法】
這篇文章主要介紹了JS/HTML5游戲常用算法之路徑搜索算法 隨機(jī)迷宮算法,結(jié)合實例形式詳細(xì)分析了針對迷宮游戲路徑搜索算法的普里姆算法相關(guān)原理、實現(xiàn)方法及操作注意事項,需要的朋友可以參考下2018-12-12基于JavaScript實現(xiàn)Json數(shù)據(jù)根據(jù)某個字段進(jìn)行排序
這篇文章主要介紹了基于JavaScript實現(xiàn)Json數(shù)據(jù)根據(jù)某個字段進(jìn)行排序的相關(guān)資料,需要的朋友可以參考下2015-11-11JavaScript獲取當(dāng)前窗口內(nèi)的寬度和高度匯總
這篇文章主要介紹了JavaScript獲取當(dāng)前窗口內(nèi)的寬度和高度匯總的相關(guān)資料,需要的朋友可以參考下2023-02-02Bootstrap源碼學(xué)習(xí)筆記之bootstrap進(jìn)度條
本文通過源碼給大家解析bootstrap進(jìn)度條樣式,分為條紋進(jìn)度條,動態(tài)條紋進(jìn)度條,層疊進(jìn)度條和帶Label的進(jìn)度條,下面通過代碼給大家簡單介紹下,感興趣的朋友一起看看吧2016-12-12