Entwickler-Ecke
Algorithmen, Optimierung und Assembler - Abschneiden von Zahlen
Halunkel - So 07.05.06 03:35
Titel: Abschneiden von Zahlen
Hallo!
Ich bräuchte mal wieder eure Hilfe!!
Wie schaffe ich es nur den 1000er Wert einer Zahl bei der Berechnung zu verwenden?
Also was ich damit meine ist folgendes: Man gibt in einem Editfeld eine Punktzahl ein und nun sollen in anderen Feldern Werte ausgegeben werden, entsprechend der Punktzahl!
Z.B. Punktzahl 2000
Ausgabe: 2
Punktzahl: 4257
Ausgabe: 4
Punktzahl: 8982
Ausgabe: 8
Danke!!
LLCoolDave - So 07.05.06 08:16
In solchen Fällen sind div und mod genau das richtige. mod gibt den Rest einer Division, div nur das ganzzhlige Ergebnis zurück.
2345 div 1000 = 2, da 1000 2 mal in 2345 geht
4673 div 1000 = 4, da 1000 4 mal in 4673 geht
5234 mod 1000 = 234, da 5234/1000 = 5 Rest 234 ist.
Halunkel - So 07.05.06 21:58
Welcher Variablentyp sollte die Variable denn haben, damit div bzw. mod funktionieren??
Ich habe folgendes ausprobiert, das klappt aber leider nicht:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| var zahl1, ergebnis : double;
begin zahl1 := StrToFloat (Edit1.Text);
ergebnis := zahl1 div 1000;
Edit3.Text := FloatToStr (ergebnis); end; |
Leider klappts auch nicht mit integer!
BenBE - So 07.05.06 22:06
Delphi unterscheided zwischen Integer (div) und Gleitkomma (/) bei der Division ...
mkinzler - So 07.05.06 22:06
Wie wärs mit
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| var zahl1: double; ergebnis : Integer;
begin zahl1 := StrToFloat (Edit1.Text);
ergebnis := zahl1 div 1000;
Edit3.Text := IntToStr (ergebnis); end; |
BenBE - So 07.05.06 22:10
mkinzler hat folgendes geschrieben: |
Wie wärs mit
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| var zahl1: double; ergebnis : Integer;
begin zahl1 := StrToFloat (Edit1.Text);
ergebnis := zahl1 div 1000;
Edit3.Text := IntToStr (ergebnis); end; | |
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| var zahl1: double; ergebnis : Integer;
begin zahl1 := StrToFloat (Edit1.Text);
ergebnis := trunc(zahl1) div 1000;
Edit3.Text := IntToStr (ergebnis); end; |
Halunkel - So 07.05.06 22:37
Mit "trunc" hats funktioniert!! :-)
Was genau bewirkt trunc??
also muss ich wenn ich div und mod benutze immer trunc vor die variable schreiben??
BenBE - So 07.05.06 23:33
Trunc bewirkt ein Abrunden der Zahl und gibt einen Integer zurück. Schau diesbezüglich einfach mal in der DOH unter Trunc, Div und Mod nach, da sollte einiges zur Erklärung zu finden sein ;-)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!