hallo,
es ist wohl kein Brett sondern eine Bohle. Was ich möchte ist @Mon(Ausgabe ist ja 06) minus 1 dann sollte aber (05) ausgegeben werden aber es kommt (5) raus. Ich benötige aber (05). was mache ich falsche?
mfg taucher_2006
hallo,
es ist wohl kein Brett sondern eine Bohle. Was ich möchte ist @Mon(Ausgabe ist ja 06) minus 1 dann sollte aber (05) ausgegeben werden aber es kommt (5) raus. Ich benötige aber (05). was mache ich falsche?
mfg taucher_2006
$mon = "0" & @Mon - 1
mfg^^
naja das konn man optimieren^^
er will ja nicht 011 haben^^ denk ich mal^^
Dim $mon
If @Mon<10 Then
$mon = "0"&@Mon
Else
$mon = @Mon
EndIf
MsgBox(0,"",$mon)
snoozer
Hi!
Wenn huggy mich herausfordert
Hier die Version, die auch bei Ursprungswerten über 9 geht:
[autoit]ConsoleWrite(StringFormat("%02d", @MON - 1)&@CRLF)
[/autoit]peethebee
Edit: Ein paar Sekunden zu langsam - aber 6 Zeilen oder ~83% kürzer
ZitatOriginal von peethebee
Hi!Wenn huggy mich herausfordert
Hier die Version, die auch bei Ursprungswerten über 9 geht:
[autoit]ConsoleWrite(StringFormat("%02d", @MON - 1)&@CRLF)
[/autoit]peethebee
Langsam nervts
was is denn nun los, was is denn bei pee anders als bei huggy und wann hat er dich gefordert???
@Topic, ja is mir auch schonmal aufgefallen, glaube das ist ne Art kleiner Bug
vlt wird das ja in einer kommenden Version behoben, musste das damals auch über diesen Umweg machen...
Waluev
hi,
danke das geht, aber jetzt erscheint auch bei einem zweistelligen Monat die 0.
habe es jetzt so gelöst
If @MON <= 09 Then
$mon = "0" & @Mon - 1
Else
$mon = @MON -1
EndIf
Ich hoffe das es richtig ist
Mfg taucher
Das hat mit einem Bug nichts zu tun...
Erklärung:
Wenn AutoIt rechnet (mit Zahlen arbeitet) - und das muss es machen, wenn ein + zwischen zwei Ausdrücken steht, dann kommt auch eine Zahl raus - logischerweise im normalen Zahlenformat, also 5.
Daher ist die Unwandlung auf Stringbasis mit Stringformat nötig - dann wird es wieder als Zeichenkette behandelt und die 0 vorne macht wieder Sinn.
Warum poste ich? Weil es wie snoozer schon sagte bei huggy nicht perfekt war...
peethebee
Omg, naja wie du meinst....
trotzdem wäre es in diesem Fall sinnvoller ohne diesem Umweg...
und ich denke das könnte man auch getrost verbessern, oder nich???
Waluev
Edit: und das rechnen mit Zahlen arbeiten ist, weiß ich, auch wenn ich von AutoIt nich viel Ahnung hab -.-
hi ja so gehts =)
hatte nur vergessen eins abzuziehen^^
kann nur sagen dass pee's lösung viel eleganter ist und das gleiche bezweckt....
$mon = StringFormat("%02d", @MON - 1)
MsgBoX(0,"",$mon)
[quote]Warum poste ich? Weil es wie snoozer schon sagte bei huggy nicht perfekt war...[/qoute]^^
snoozy
Du willst nicht wirklich, dass bei 05+9819283 dann 000009819288 rauskommt, oder?
Wo Zahlen reinkommen, müssen auch Zahlen rauskommen - und Zahlen fangen nicht mit 0 an ;).
Daher also kein Grund das zu ändern, das ist ein Fall, wo es (sehr begrenzt) weh tut, aber dafür sind in hunderten anderen die Ergebnisse voraussagbar :D.
Der Hinweise "mit Zahlen arbeiten" war insofern wichtig, da er zu Zeichenketten abgrenzt :]
Man man man, ein Terror hier, was ist denn an der Version 0&bla das Prob??
Waluev
hi,
schuldigung wenn ich hier irgendwelche befindlichkeiten geweckt habe. beide varianten funzen.(habe mich aber für die zweite entschieden)
danke nochmals für die hilfe
taucher
gluck gluck...
@ schluss jetz