Cómo convertir decimal a hexadecimal en JavaScript

Resuelto Luke Smith asked hace 16 años • 30 respuestas

¿Cómo se convierten valores decimales a su equivalente hexadecimal en JavaScript?

Luke Smith avatar Sep 12 '08 05:09 Luke Smith
Aceptado

Convierta un número a una cadena hexadecimal con:

hexString = yourNumber.toString(16);

Y revertir el proceso con:

yourNumber = parseInt(hexString, 16);
Prestaul avatar Sep 11 '2008 22:09 Prestaul

Si necesita manejar cosas como campos de bits o colores de 32 bits, entonces necesita manejar números con signo. La función de JavaScript toString(16)devolverá un número hexadecimal negativo que normalmente no es el que desea. Esta función realiza algunas sumas locas para convertirlo en un número positivo.

function decimalToHexString(number)
{
  if (number < 0)
  {
    number = 0xFFFFFFFF + number + 1;
  }

  return number.toString(16).toUpperCase();
}

console.log(decimalToHexString(27));
console.log(decimalToHexString(48.6));
Expandir fragmento

Tod avatar Mar 30 '2009 16:03 Tod

El siguiente código convertirá el valor decimal d a hexadecimal. También le permite agregar relleno al resultado hexadecimal. Entonces 0 se convertirá en 00 por defecto.

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;
}
Luke Smith avatar Sep 11 '2008 22:09 Luke Smith