584 Stimmen

Wie kann ich einen Wert mit führenden Nullen auffüllen?

Was ist der empfohlene Weg, um einen Wert in JavaScript mit Nullen zu füllen? Ich kann mir vorstellen, dass ich eine benutzerdefinierte Funktion zum Auffüllen von Nullen auf einen eingegebenen Wert bauen könnte, aber ich frage mich, ob es einen direkteren Weg gibt, dies zu tun?

Anmerkung: Mit "zerofilled" meine ich es im Sinne des Wortes in der Datenbank (wo eine 6-stellige zerofilled Darstellung der Zahl 5 "000005" wäre).

10voto

tir Punkte 11

Die Macht der Mathematik!

x = aufzufüllende Ganzzahl
y = Anzahl der aufzufüllenden Nullen

function zeroPad(x, y)
{
   y = Math.max(y-1,0);
   var n = (x / Math.pow(10,y)).toFixed(y);
   return n.replace('.','');  
}

9voto

Benny Bottema Punkte 10255

Erfinden Sie das Rad nicht neu, verwenden Sie Unterstrichzeichenkette :

jsFiddle

var numToPad = '5';

alert(_.str.pad(numToPad, 6, '0')); // yields: '000005'

9voto

Lewis Punkte 13035

Dies ist die ES6-Lösung.

function pad(num, len) {
  return '0'.repeat(len - num.toString().length) + num;
}
alert(pad(1234,6));

9voto

Art Punkte 5824

Nicht, dass diese Frage mehr Antworten benötigt, aber ich dachte, ich würde die einfache Lodash-Version dieser Frage hinzufügen.

_.padLeft(number, 6, '0')

9voto

Stephen Quan Punkte 16456

Ich habe niemanden gesehen, der auf die Tatsache hingewiesen hat, dass bei der Verwendung von String.prototype.substr() mit einer negativen Zahl wird von rechts gezählt.

Eine einzeilige Lösung für die Frage des Auftraggebers, eine 6-stellige Null-Darstellung der Zahl 5, lautet:

console.log(("00000000" + 5).substr(-6));

Wir werden verallgemeinern:

function pad(num, len) { return ("00000000" + num).substr(-len) };

console.log(pad(5, 6));
console.log(pad(45, 6));
console.log(pad(345, 6));
console.log(pad(2345, 6));
console.log(pad(12345, 6));

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