Einzelnen Beitrag anzeigen

Benutzerbild von rhodan
rhodan

Registriert seit: 4. Okt 2005
Ort: Hamburg
150 Beiträge
 
Delphi 7 Personal
 
#1

"Fehlerhafte" bei Prozentrechnung auf 100%

  Alt 28. Apr 2014, 22:29
Hallo!

ich habe ein kleines berechnunsproblem..

ich habe ein Monats-Umsatz-ziel im editfeld gegeben, genauso wie den Aktuellen umsatz in einem weiteren editfeld.
Anhand eines weiteren feldes lasse ich nun anzeigen wieviel des Monats-Ziels schon erreicht wurden.
dies mache ich mit folgender formel:

prozent.text:= FloatToStr((StrToFloat(Umsatz.Text) / StrToFloat(monatsziel.Text)) *100); das problem ist das bei einem monatsziel von 20700 schon bei 20690 die 100% angezeigt werden..

ich übergebe das ergebnis der rechnung an ein weiteres editfeld wo die kommastellen weggestrichen werden und das ergebnis dann anhand einer progressbar angezeigt wird:

Delphi-Quellcode:
procedure TForm2.prozentChange(Sender: TObject);
var
zahl3:extended;
begin
zahl3:= strtofloat(prozent.Text);
 prozent.text:= floattostrf ( zahl3, ffFixed, 3, 1);
  prozentlabel.caption.Text:=prozent.Text;
 end;
ich schätze mal der hund liegt im prozent-editfeld begraben, denn wenn ich das im taschenrechner rechne kommt bei 20690 ne 99,95% raus...wieso wird da aufgerundet bzw wie verhindere ich das?

ich komme nicht dahinter wie ich das korrigieren kann das die 100% erst beim vollem Monatsziel angezeigt werden, meine mathekenntnisse sind da nicht so berauschend was formeln angeht, hat jemand nen tip?

ps: ich weiß es geht programmiertechnisch sicherlich schöner, lach!

prozent.text:= floattostrf ( zahl3, ffFixed, 3, 1);
ich weiß das ich hier auf eine stelle am ende runde, ich könnte das lösen indem ich auf 2 runde, ich frage mich nur ob es auch anders geht

danke!!

Geändert von rhodan (28. Apr 2014 um 22:36 Uhr)
  Mit Zitat antworten Zitat