JavaScript 将十进制数转换成格式类似于 0x000100 或 #000100 的十六进制数

将十进制数转换成格式类似于 0x000100 或 #000100 的十六进制数

 1 <!DOCTYPE html>
 2 <html>
 3   <head>
 4     <meta charset="utf-8">
 5     <title>Dec to Hex</title>
 6   </head>
 7   <body onload="doIt()">
 8     <p ></p>
 9     <p ></p>
10     <p ></p>
11     <p ></p>
12   </body>
13   <script>
14     function doIt() {
15       document.getElementById("demo1").innerHTML = dec2Hex("0x", 255).toUpperCase();      // 0X0000FF
16       document.getElementById("demo2").innerHTML = "0x" + dec2Hex("", 255).toUpperCase(); // 0x0000FF
17       document.getElementById("demo3").innerHTML = dec2Hex("#", 255).toUpperCase();       // #0000FF
18       document.getElementById("demo4").innerHTML = dec2Hex("#", 256);                     // #000100
19     }
20     // 十进制数转 6 位十六进制数
21     function dec2Hex(prefix, value) {
22       var hexCode = value.toString(16);
23       var zeroes = "000000";
24       var length = zeroes.length - hexCode.length;
25       return prefix + zeroes.substr(0, length) + hexCode;
26     }
27   </script>
28 </html>

第 22 行:var hexCode = value.toString(16);

语法:NumberObject.toString(radix)

定义和用法:toString() 方法可把一个 Number 对象转换为一个字符串,并返回结果。

参考:JavaScript toString() 方法


第 25 行return prefix + zeroes.substr(0, length) + hexCode;

语法:stringObject.substr(start,length)

定义和用法:substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。

参考:JavaScript substr() 方法