Go Down

Topic: LCD  Ausgabe formatieren (Read 8087 times) previous topic - next topic

komputer.de

Hallo,

folgende Sache:
Ich will eine Zahl (max. 4stellig) auf einem LCD ausgeben - dahinter die Einheit (in meinem Fall mA)
Welche elegante Möglichkeiten gibt es dass die Einer-Ziffer immer an der selben Stelle ausgegeben wird also z.B. 5mA und 1000mA - da soll sich nichts verschieben.
Habe schon einiges ausprobiert mit scroll und rightToLeft etc.
könnte mit vorstellen dass es für dieses "alltägliche" Problem auch eine ebenso einfache Lösung gibt - deshalb meine Frage an euch - bevor ich anfange hier richtig kranke Konstukte zu programmieren ;-)

Viele Grüsse,   Michi

uwefed

#1
Jan 23, 2011, 11:19 am Last Edit: Jan 23, 2011, 11:20 am by uwefed Reason: 1
mit oder ohne führende Nullen?
fprint() hast Du schon probiert?

Ansonst fällt mir ein:
if(zahl <10) print(" "); // ein leerzeichen  oder auch Zahl Null
if(zahl <100) print(" "); // ein leerzeichen
if(zahl <1000) print(" "); // ein leerzeichen
print zahl;

Grüße Uwe

komputer.de

Hallo Uwe,

Ohne führende Nullen.
fprint() habe ich noch nicht probiert (wusste auch nicht dass das mit lcd.print funktioniert) mache mich gleich mal schlau wie das gehen könnte...

Quote
Ansonst fällt mir ein:
if(zahl <10) print(" "); // ein leerzeichen  oder auch Zahl Null
if(zahl <100) print(" "); // ein leerzeichen
if(zahl <1000) print(" "); // ein leerzeichen
print zahl;


...so ein ähnliches Konstrukt habe ich mir schon wo abgeschaut - so mache ich es momentan.

Viele Grüsse,    Michi

jkw

Code: [Select]
char buffer[7];
sprintf(buffer,"%4imA",zahl);
print buffer;


mit Nullen

Code: [Select]
char buffer[7];
sprintf(buffer,"%04imA",zahl);
print buffer;


Gruß JKW

komputer.de

Hallo,

Danke auch JKW - habe es auch mit sprintf() probiert - funktioniert auch. ;-)
Mir ist aufgefallen dass das Binary ca 1,5k grösser wird - spielt zwar in diesem Projekt keine grosse Rolle brauche jedoch auch nicht die Mächtigen Funktionen von printf().
Deshalb hab ich mich für die "Space Einfüge Methode"  entschieden.

Vielen Dank - hab wieder was gelern!

Viele Grüsse,    Michi

Go Up