zahl mit mehreren 0 z.B 00024
Patrik
- vb-script
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
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
Ups verlesen, dachte javascript...sorry
Hallo!
nochmals ein beispiel:
30
muss zu
00030 , formatiert werden
Format("30", "000000")
thx
yw
Viennamade
Hallo,
kleines, einfaches und wirkungsvolles Workaround:
zahl = 30
zahl = cdbl(right("00000"&zahl,5)) ' zahl ist nun gleich 00030!
Gruss,
Daniel
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
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
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