Hi, WordToStrWithZeros ist leider auf 5 Stellen festgelegt. Gibt es eine elegante Methode, mit der ich mir mehr bzw. weniger Nullen anzeigen lassen kann? Ich möchte nämlich eine Anzeige haben, die immer zweistellig ist, z. Bsp.: 00:12:03. Wenn das die aktuelle Uhrzeit ist und der Stundenwert Null ist, dann zeigt er nur eine Null an, was ich aber gerne ändern würde, aber wie mache ich das am einfachsten? Danke und Gruß Peter
wenn die Funktion nicht passt kannst du dir auch selber eine schreiben die deine Anforderungen genügt. Um aus einer Zahl eine Ziffer(String) zum Anzeigen zumachen muss man nur mit '0' addieren. also so:
1 | int Zahl = 4567; |
2 | char String[5]; |
3 | |
4 | //Zahl in einzelne Stellen auftrennen (ähnlich wie BCD)
|
5 | int z1 = (Zahl/1000) % 10; //4 |
6 | int z2 = (Zahl/100 ) % 10; //5 |
7 | int z3 = (Zahl/10 ) % 10; //6 |
8 | int z4 = (Zahl ) % 10; //7 |
9 | |
10 | //String bilden
|
11 | String[0] = '0' + z1; |
12 | String[1] = '0' + z2; |
13 | String[2] = ':' ; |
14 | String[3] = '0' + z3; |
15 | String[4] = '0' + z4; |
16 | String[5] = '\n'; |
17 | //usw.
|
IMO geht es manchmal schneller sich was selber zu schreiben als lange zu googlen um dann zu merken das es doch nicht passt.
Wenn ich deine "Strings" jetzt auf dem LCD ausgeben möchte
1 | Lcd_Out(1,1,String[0]); |
, kommen leider nur kryptische Zeichen raus. Leider gibt es auch nur die Methode ByteToHex aber nicht ByteToDec, was mit den Nullen, die automatisch dabei sind, perfekt wäre...
fetter_Homer schrieb: > kommen leider nur kryptische Zeichen raus. also zeicheN schon mal garnicht da du ja nur ein char übergibst: "String[0]". Vielleicht mal "&String[0]" bsw. "String" nehmen wenn diese Funktion den ganzen String ausgeben soll.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.