有个做色码转换的需求,需要把 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