Hallo Ich habe einen Wert PF = 1234; Dieser Wert sollte in Display_Buffer geschrieben werden als "1.234". Das funktioniert. Ist der Wert PF nun aber PF = 0034, müsste im Dispay_Buffer folgendes stehen "0.034" es steht jedoch 0.34 drinn. Wie kann ich das ändern? sprintf(Display_Buffer,"%1d.%-3d",Power.pf/1000,Power.pf%1000); Freundliche Grüsse
0034 % 1000 = 34 dürfte klar sein da ich meist manuell formatiere: warum schreibst du %-3d ? sollte es nicht einfach nur %3d sein ? einfachste lösung: modval = x % 1000; if (modval < 10) sprintf(Display_Buffer,"0"); if (modval < 100) sprintf(Display_Buffer,"0"); sprintf(Display_Buffer,"%d", modval);
> warum schreibst du %-3d ? sollte es > nicht einfach nur %3d sein ? Das mit dem - ist richtig. Ist hier völlig unnötig. Allerdings sollte es %03d heissen. Dann werden auch führende Nullen eingefügt.
Besten Dank, klappt bestens. Da ich schon ein paar mal Problem mit dem grossen umfang der printf() funktion hatte, kennt jemand einen guten linkt oder tut. mit den ganzen formatierungen? Gruss
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.