WordToStrWithZeros mit weniger Nullen (microC PRO for PIC)

Gast #2587671
Lesenswert?

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
#2587715
Lesenswert?

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.
Gast #2588085
Lesenswert?

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...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren