Mike: String auffüllen wenn es weniger wie 3 Zeichen hat

Hallo, Filiale wird aus einem array eingelesen, dieser Wert ins eine Zahl, diesen konvertiere ich dann in ein String um, wenn die stringlänge nun kleiner als 3 ist, also z.B. bei der Filialnummer 2 oder 50, dann soll dieser String um nullen erweitert werden, also z.B. 002 bzw. 050, wie bekomme ich das am besten hin? Und ist mein Ansatz mit xxx.length richtig oder gibt es hier eine andere Funktion?

function uebergabe(id)
  {
   var valueA = filiale[id];
   alert(valueA);
   var valueB=valueA.toString;
   if(valueB.length < 3)
   {

??????????????????????????????

}
   alert(valueB);
   self.close();
  }

THX.

  1. Hallo,

    die Länge eines Strings kannst Du mit xxx.length ermitteln.
    Mit dem "+"-Operator kannst Du Strings aneinanderkleben:
    z1 = 10;
    z2 = "0"+z1;

    Gruß, Jürgen

  2. Und ist mein Ansatz mit xxx.length richtig [...]?

    Ja. Aber eher mit while-Schleife:

    while (valueB.length < 3) valueB = "0" + valueB;

    Oder mit einer Verzweigung:

    switch (valueB.length) {
      case 1: valueB = "0" + valueB;
      case 2: valueB = "0" + valueB;
    }

    Oder, wenn deine Nummern zwischen 1 und 999 liegen, addier erst 1000, dann wandelst du die Zahl in einen String um, von dem du die erste Stelle "1" abschneidest.

    Gunnar

    --
    Good results come from experience; and experience comes from bad results.
  3. var len = 3;
    var valueA = '000' +  filiale[id];

    valueA = valueA.substring(valueA.length - len);

    alert(valueA);

    Struppi.

  4. Hi,

    Und ist mein Ansatz mit xxx.length richtig

    Ja. Zu beachten wäre höchstens noch, daß toString erst ab JS Version 1.1 zur Verfügung steht und daß Du sicherheitshalber noch die Basis 10 (Dezimalsystem) angeben solltest, falls Dir schon ein Wert mit führender 0 unterkommt (in JS bedeutet dies: Oktalzahl!).

    oder gibt es hier eine andere Funktion?

    Ich habe mal so eine Funktion geschrieben (für JS >=1.0):
    http://www.vampirehost.de/gruft/coding/jscript/numlib.htm

    valueB=stringInt(valueA,10,3);

    Gruß, Cybaer