有個做色碼轉換的需求,需要把 RGB 和 HEX 做轉換,這裏會需要使用 javascript 將十進位和十六進位的數值做轉換,查了一下 javascript 的語法,簡單做了一下筆記
十進位轉十六進位
function decToHex(dec) {
dec = parseInt(dec); // 確認格式為 integer
return dec.toString(16); // 使用 toString(16) 轉換為十六進位
}
簡單解釋,第一行只是確保傳入的數值是 integer,如果傳入的格式是字串 ex: '15',會將格式轉為 integer
主要是第二行,用 toString(16) 則可以轉換為十六進位
同樣,要轉成二進位、八進位,也是用同樣的方法
bin = dec.toString(2); // 轉換為二進位
oct = dec.toString(8); // 轉換為八進位
十六進位轉十進位
function hexToDec(hex) {
return parseInt(hex, 16); // 由十六進位轉換為十進位
}
只需要一行 code 就可以,同樣如果要從二進位或八進位轉換為十進位,也是用同樣的 method
dec = parseInt(bin, 2); // 由二進位轉換為十進位
dec = parseInt(oct, 8); // 由八進位轉換為十進位
實作
用簡單的程式,實作了一個【二進位、十進位、十六進位轉換器】,歡迎使用及分享 XD