Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Warum kein GETEILT rechnen?


Andreas L. - Mo 01.12.03 20:44
Titel: Warum kein GETEILT rechnen?
Hi,
hab wieder mal ein Problem. Guckt euch das Bild an:

http://www.softprose.any-key.de/images/compiler_error___.png

Warum kann ich nicht eine zahl durch zwei teilen wenn ich /2 verwende?

Greetz und danke für hilfe...


UGrohne - Mo 01.12.03 20:50

Weil inttostr() einen Integer erwartet, beim operator / aber ein float-wert rauskommt. Du musst div anstatt / nehmen oder floattostr statt inttostr


Andreas L. - Mo 01.12.03 20:54

Hä?? Also wie jetzt, wie soll ich das einbauen?

Danke für deine Antwort.


UGrohne - Mo 01.12.03 21:00

Entweder

Delphi-Quelltext
1:
inttostr(strtoint(edit1.text)*strtoint(Edit3.Text) div 2);                    

oder

Delphi-Quelltext
1:
floattostr(strtoint(edit1.text)*strtoint(Edit3.Text) / 2);                    

je nachdem, ob Du Nachkommastellen brauchst (dann das 2.) oder net[/delphi]


tommie-lie - Mo 01.12.03 21:05

Weil du IntToStr benutzt. Das Ergebnis eine Fließkommadivision (mit /) ist immer eine Fließkommazahl, selbst wenn man nur 4/2 rechnet.
Da gehört also entweder noch irgendwo ein Trunc, Round oder etwas in die Richtung rein, ein "div" (für Inztegerdivision mit ganzzahligem Ergebnis) oder ein FloatToStr, die Wahl hat mal wieder der Programmierer.


Andreas L. - Mo 01.12.03 21:07

Ahh, danke.

Jetzt fungiert alles :-)


UGrohne - Mo 01.12.03 21:07

tommie-lie hat folgendes geschrieben:
Trunc, Round oder etwas in die Richtung rein

Was ich aber nicht machen würde, schließlich wäre das ja wieder ein unnötiger Funktionsaufruf. Is ja so schon unübersichtlich genug ;-)


tommie-lie - Mo 01.12.03 21:18

UGrohne hat folgendes geschrieben:
tommie-lie hat folgendes geschrieben:
Trunc, Round oder etwas in die Richtung rein

Was ich aber nicht machen würde, schließlich wäre das ja wieder ein unnötiger Funktionsaufruf. Is ja so schon unübersichtlich genug ;-)

Ich hab' ja sowieso schon zu spät gepostet.
Sieh es als Auflistung aller Möglichkeiten, der Vollständigkeit halber ;-)


UGrohne - Mo 01.12.03 21:20

tommie-lie hat folgendes geschrieben:
Sieh es als Auflistung aller Möglichkeiten, der Vollständigkeit halber ;-)

Deswegen hab ich ja (der Vollständigkeit halber) noch meinen Senf dazugegeben ;-) :lol: