如何在JavaScript中将十进制转换为十六进制?

如何在JavaScript中将十进制值转换为十六进制等价值?


将数字转换为十六进制字符串:

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();
}

下面的代码将十进制值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;
}
链接地址: http://www.djcxy.com/p/31765.html

上一篇: How to convert decimal to hex in JavaScript?

下一篇: Why is using 'eval' a bad practice?