Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Zahlen dividieren (https://www.delphipraxis.net/77827-zahlen-dividieren.html)

Florian Huß 25. Sep 2006 14:10


Zahlen dividieren
 
hi wir müssen für die schule nen taschenrechner mit delphi programmieren und da wollte ich wissen (bin abslout neu und habe noch fast keine ahnung) wie man 2 edits miteinander dividiert

ich habe geschrieben aber er sagt das sei falsch

procedure TForm1.Button11_geteilt2Click(Sender: TObject);
begin
e3.Text:= inttostr(strtoint(nu1.Text)/strtoint(nu2.Text));
end;

e3 steht hier für ergebnis3 aber egal wenn mir einer helfen kann wäre das echt cool

mfg
Florian :-D

pathfinder78 25. Sep 2006 14:14

Re: Zahlen dividieren
 
Einfachste Lösung bei Division von Integer-Werten (keine Rundung des Ergebnisses):
e3.Text:= inttostr(strtoint(nu1.Text) div strtoint(nu2.Text));

Wenn er runden soll:
e3.Text:= inttostr(Round(strtoint(nu1.Text)/strtoint(nu2.Text)));

Für den Befehl Round musst du in der Uses-Klausel die Unit Math hinzufügen

Florian Huß 25. Sep 2006 14:16

Re: Zahlen dividieren
 
cool danke das prob ich gleich mal aus
thx alot
florian

Thanatos81 25. Sep 2006 14:20

Re: Zahlen dividieren
 
Hmm, die wenigsten Taschenrechner die ich kenne zeigen
Code:
5 / 2 = 2
an. Deswegen schau dir mal statt IntToStr auch FloatToStr an.

Eine Division ergibt pauschal eine Fließkommazahl, ob dabei wirklich andere Nachkommastellen als 0 herauskommen interessiert Delphi nicht.
Und Integer sind nun mal Ganzzahlen, deswegen kann IntToStr in diesem Fall nicht funktionieren, da du ja eine Kommazahl erhältst, und dafür brauchst du oben erwähntes FloatToStr ;-)

Florian Huß 25. Sep 2006 14:27

Re: Zahlen dividieren
 
ja das hab ich auch gerade gemerkt aber trotzdem danke für den hinweis
mfg florian

Florian Huß 25. Sep 2006 14:34

Re: Zahlen dividieren
 
ich habe jetzt zwar floattostr geschrieben aber jetzt sagt er diese procedure sei falsch und kann net mehr kompilieren

e3.Text:= floattostr(strtofloat(nu1.Text)div strtofloat(nu2.Text));

Thanatos81 25. Sep 2006 14:39

Re: Zahlen dividieren
 
JUpp, weil div ein Operator für Ganzzahlen ist, wenn man mit Fließkomma arbeitet gelten die "normalen" Operatoren wie man sie vom Windows-Taschenrechner, Excel, OpenOffice Calc und so weiter kennt:
*
/
+
-
;-)

Florian Huß 25. Sep 2006 15:06

Re: Zahlen dividieren
 
ok thx jetzt funzts
mfg florian

DP-Maintenance 25. Sep 2006 16:29

DP-Maintenance
 
Dieses Thema wurde von "Matze" von "Neuen Beitrag zur Code-Library hinzufügen" nach "Object-Pascal / Delphi-Language" verschoben.
In die Code-Library gehören nur fertige Codes ...

killerkarl 27. Sep 2006 09:05

Re: Zahlen dividieren
 
Aber davon mal ganz abgesehen ist es übersichtlicher die edits voher in variablen zu laden, das ergebnis in einer solchen zu speichern und dann nur das ergebnis per FloatToStr auslesen


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:58 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz