如何在JavaScript中将十进制值转换为十六进制值?
发布于 2008-09-11 22:28:35
使用以下命令将数字转换为十六进制字符串:
hexString = yourNumber.toString(16);
并使用以下命令反转此过程:
yourNumber = parseInt(hexString, 16);
发布于 2009-03-30 16:05:03
如果您需要处理位字段或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));
发布于 2008-09-11 22:29:08
下面的代码将把十进制值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;
}
https://stackoverflow.com/questions/57803
复制相似问题