Hi wir haben gerade ein Wahl Programm geschrieben:
cdu++;
ges = ges++;
labelges->Caption=ges;
panelcdu->Width=cdu*200/ges;
panelfdp->Width=fdp*200/ges;
panelgru->Width=gru*200/ges;
panelspd->Width=spd*200/ges;
labelgru->Caption=FloatToStr((gru*200/ges)/2)+ "%"; // Hier
labelfdp->Caption=FloatToStr((fdp*200/ges)/2)+ "%"; // soll
labelcdu->Caption=FloatToStr((cdu*200/ges)/2)+ "%"; // Gerundet
labelspd->Caption=FloatToStr((spd*200/ges)/2)+ "%"; // werden (2 St.)
Der unterste Abschnitt mit den 4 FloatToStr gibt die Prozente in das label aus. Alles ist richtig und klappt, nur leider kommen Zahlen wie: 33,3333333333333333333(...). Leider weiß ich nur wie das mit Precision in der Konsole geht. Möchte gerne (im obigen Falle) gerne 33,33 dort stehen haben. Hoffe ihr versteht mein Problem.
Benutze: Borland C++ Builder 5.0
GreeTz Selecta
Programmieren - alles kontrollieren 4.940 Themen, 20.676 Beiträge
ges = ges++;
So etwas sollte man auf keinen fall machen. Das kann, je nach compiler, einstellungen, etc., mal so und mal so übersetzt werden (ergebnis ausrechnen, postinkrementieren und dann erst wert zuweisen oder ergebnis ausrechnen, wert zuweisen und dann erst postinkrementieren).
Eine zeile oben darüber hat's doch auch wunderbar geklappt.
mr.escape