1922 Stimmen

Umwandlung von Dezimal- in Hexadezimalzahlen in JavaScript

Wie konvertiert man in JavaScript dezimale Werte in ihr hexadezimales Äquivalent?

10voto

function dec2hex(i)
{
  var result = "0000";
  if      (i >= 0    && i <= 15)    { result = "000" + i.toString(16); }
  else if (i >= 16   && i <= 255)   { result = "00"  + i.toString(16); }
  else if (i >= 256  && i <= 4095)  { result = "0"   + i.toString(16); }
  else if (i >= 4096 && i <= 65535) { result =         i.toString(16); }
  return result
}

9voto

korona Punkte 2270

Wenn Sie eine Zahl in eine hexadezimale Darstellung eines RGBA-Farbwerts umwandeln möchten, ist dies die nützlichste Kombination aus mehreren Tipps von hier:

function toHexString(n) {
    if(n < 0) {
        n = 0xFFFFFFFF + n + 1;
    }
    return "0x" + ("00000000" + n.toString(16).toUpperCase()).substr(-8);
}

8voto

AFAIK Kommentar 57807 ist falsch und sollte etwa so lauten: var hex = Number(d).toString(16); anstelle von var hex = parseInt(d, 16);

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

6voto

Wilt Punkte 36662

Konvertierung von Hex-Farbnummern in Hex-Farbstrings:

Eine einfache Lösung mit toString und ES6 padStart für die Umwandlung von Hex-Farbnummern in Hex-Farbstrings.

const string = `#${color.toString(16).padStart(6, '0')}`;

Zum Beispiel:

0x000000 werden #000000
0xFFFFFF werden #FFFFFF

Sehen Sie sich dieses Beispiel in einem Fiddle hier an

4voto

Alireza Punkte 92209

Sie können etwas Ähnliches tun in ECMAScript 6 :

const toHex = num => (num).toString(16).toUpperCase();

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X