Patrik: zahl mit mehreren 0 z.B 00024

Hallo Zusammen

ich muss einem Programm eine 5 stellige zahl liefern auch wenn die zahl z.b nur 24 ist. das heisst ich benötige noch vorherige nullen (leadin zero?)

mit der funktion formatNumber kann ich aber nur bei dezimalstellen leading zero wählen und nicht auf wieviele stellen die zahl mit nullen aufgefüllt werden soll.

kann mir jemand einen tipp geben?

nochmals ein beispiel:

mein ergebnis:

30

muss zu

00030 , formatiert werden

thx

  1. dazu mußt du die variable als string deklarien und dann in abhängigkeit von der länge (str.length) noch "0", "00", "000",... usw vor dem string anfügen. "000"+str...

    sollte funktionieren

    gruß christian

    1. Ups verlesen, dachte javascript...sorry

  2. Hallo!

    nochmals ein beispiel:
    30
    muss zu
    00030 , formatiert werden

    Format("30", "000000")

    thx

    yw
    Viennamade

  3. Hallo,

    kleines, einfaches und wirkungsvolles Workaround:

    zahl = 30
    zahl = cdbl(right("00000"&zahl,5)) ' zahl ist nun gleich 00030!

    Gruss,
    Daniel

    1. Hallo,

      kleines, einfaches und wirkungsvolles Workaround:

      zahl = 30
      zahl = cdbl(right("00000"&zahl,5)) ' zahl ist nun gleich 00030!

      ^Warum wandelst Du hier wieder in Double? Bei der Darstellung werden die führenden Nullen dann doch wieder weggelassen. Weiterhin werden bei längeren Zahlen die _letzten_ 5 Ziffern genommen. Bei Kommazahlen werden die Nachkommastellen mitgenommen.

      Besser:

      Z = 30
      formatedZ = right("00000" & left(Int(Z), 5), 5)
      msgbox(formatedZ)

      viele Grüße

      Axel

      1. Hallo

        zahl = 30
        zahl = cdbl(right("00000"&zahl,5)) ' zahl ist nun gleich 00030!
                  ^Warum wandelst Du hier wieder in Double? Bei der Darstellung werden die führenden Nullen dann doch wieder weggelassen.

        Stimmt. Das cdbl() ist dort tatsächlich zu viel.

        Weiterhin werden bei längeren Zahlen die _letzten_ 5 Ziffern genommen.

        Er hat geschrieben, er brauche *immer* eine fünfstellige Zahl.

        Bei Kommazahlen werden die Nachkommastellen mitgenommen.

        Stimmt. Auch überflüssig, aber im Programmkontext wohl egal (nehme ich an).

        Gruss,
        Daniel

  4. Hi Patrik.

    Wie wärs denn mit dem hier:
    Wandle die Zahl in einen String um und führe folgenden Code aus
    for i=5 to len(zahl) step -1
      zahl = "0" & Zahl
    next

    Die Zahl ist dann zwar ein String, aber die Nullen werden auf jeden fall so vorangestellt, dass du nachher 5 Stellen hast, sprich
    01002, 00001, 00123, 12345, 00012 oder was auch immer.

    Ohne Umwandlung in einen String wüsste ich jetzt nix.

    MfG,
    Florian