anaboe.net

Zahl mit führenden Nullen auffüllen

Zielstellung

Sie haben Zahlen, die Sie mit führenden Nullen auffüllen möchten.

Javascript - Code

String.prototype.printf = function(anz) {
  var val = this;
  var n = '';
  if(isNaN(val)) return 'Not a valid Number';
  var z = parseFloat(val);
  if(z < 0) {
    n += '-';
    z = Math.abs(z);
  }
  var g = z.toString().split('.');
  while(anz > g[0].length) { 
    n += '0';
    anz--;
  }
  return n + g.join('.');
}

// Variante 1
var test = '1.22';
alert(test.printf(4));    // 0001.22
// Variante 2
alert('-22.4'.printf(5)); // -00022.4

Erläuterungen

Javascript bietet keine Funktion, die vergleichbar mit printf ist, sodass die entsprechende Funktionalität mit Hilfe der String- und Zahlenfunktionen nachgebaut werden muss. Der oben stehende Code erweitert das String-Objekt prototypisch um eine Funktion printf, die jeden String, der von Javascript als Gleitkommazahl evaluiert wird, mit führenden Nullen auffüllt. Sie erwartet als einzigen Parameter die Anzahl Nullen, mit denen aufgefüllt werden soll.

Im Erfolgsfall liefert sie einen entsprechend formatierten String, anderenfalls wird eine Fehlermeldung ausgegeben.