使用以下代码将数字转换为十六进制字符串:
hexString = yourNumber.toString(16);
并通过以下方式扭转过程:
yourNumber = parseInt(hexString, 16);
如果需要处理位字段或 32 位颜色等内容,则需要处理带符号的数字。 javascript 函数toString(16)
将返回一个负十六进制数,这通常不是你想要的。这个函数做了一些疯狂的补充,使它成为一个正数。
function decimalToHexString(number)
{
if (number < 0)
{
number = 0xFFFFFFFF + number + 1;
}
return number.toString(16).toUpperCase();
}
console.log(decimalToHexString(27));
console.log(decimalToHexString(48.6));
下面的代码将十进制值 d 转换为十六进制。它还允许您向十六进制结果添加填充。因此默认情况下 0 将变为 00。
function decimalToHex(d, padding) {
var hex = Number(d).toString(16);
padding = typeof (padding) === "undefined" || padding === null ? padding = 2 : padding;
while (hex.length < padding) {
hex = "0" + hex;
}
return hex;
}