Autor Beitrag
kongreddgrass
ontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 238

Win 98, Win 2000, Win Xp Prof.,Linux 8.2 Prof
Delphi 6
BeitragVerfasst: Sa 01.03.08 15:30 
Hallo erstmal :)
Ich hab das Problem, ich hab das Edit-Feld auf 9 Zeichen begrenzt. Also somit 999.999.999
Wenn ich aber das die Zahl multipliziere mit dem festgelegten Wert von 25 erscheint bei mir als Ergebnis bei
keine Forschung (999.999.999 * 25 = -769.803.800
Forschung1 10% (Ergebnis von keine Forschung * 1.1 (=110%) = -846.784.180)
Forschung2 10% (Ergebnis von Forschung1 10% * 1.1 (=110%) = -931.462.598)
Forschung3 15% (Ergebnis von Forschung2 10% * 1.15 (=115%) = -1.071.181.988)

Wieso diese Minuszahlen bei Multiplikation?

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
procedure TForm1.edrohneChange(Sender: TObject);
var
eingabedrohne,abwehr,abd1,abd2,abd3,abd4:integer;
dangriff,daangriff,daaangriff,daaaangriff:real;

begin
        //Umwandlung von Strings in Integer
        eingabedrohne:=StrToInt(edrohne.Text);
        abwehr:=eingabedrohne * 0;
        dangriff:=eingabedrohne * 25;
        daangriff:=dangriff * 1.1;
        daaangriff:=daangriff * 1.1;
        daaaangriff:=daaangriff * 1.15;
        //Abrunden der berrechneten Werte
        abd1:=Trunc(dangriff + 0.5);
        abd2:=Trunc(daangriff + 0.5);
        abd3:=Trunc(daaangriff + 0.5);
        abd4:=Trunc(daaaangriff + 0.5);
        //Umwandlung von Realzahlen in Strings und Ausgabe
        adrohne.caption:=(inttostr(abwehr));
        attdrohne.caption:=(FloatToStr(abd1));
        attadrohne.caption:=(FloatToStr(abd2));
        attaadrohne.caption:=(FloatToStr(abd3));
        attaaadrohne.caption:=(FloatToStr(abd4));
end;


Ich bin Dumm :D

_________________
o.o
MSCH
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1448
Erhaltene Danke: 3

W7 64
XE2, SQL, DevExpress, DevArt, Oracle, SQLServer
BeitragVerfasst: Sa 01.03.08 15:50 
schau dir mal den Wertebereich von integer an und versuchs mal mit int64.
Cheers
Msch

_________________
ist das politisch, wenn ich linksdrehenden Joghurt haben möchte?
Grenzgaenger
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 01.03.08 15:58 
füge mal {$Q+} am anfang deines quellcodes ein... dann wirst du erleuchtet :-)