Forum: Programmieren allgemein
by Newcomer91,
20. Jan 2011
habs nun vorerst so gelöst:
procedure TfrmFak.btnCalculateClick(Sender: TObject);
begin
frmFak.Label1.Caption := FloatToStrf(Fakultaet(StrToFloat(frmFak.edtZahl.text)), ffgeneral, 6,3);
end;
Forum: Programmieren allgemein
by Newcomer91,
20. Jan 2011
Aber wenn ich teils größere Zahlen als z.B. 21 verwende, sind sie auch wieder positiv.
Int64 geht bis 65!, wo -9223372036854775808 angeblich rauskommen sollen, was aber falsch ist.
65 ! = 8.24765059 × 1090 wäre richtig.
hatte es auch schon mit Double als Zahlentyp probiert. Das funktioniert allerdings werden mir da die Ergebnisse nicht so schön ausgegegeben z.B. 53,3535535E53
Ich...
Forum: Programmieren allgemein
by Newcomer91,
20. Jan 2011
Guten Morgen,
ich habe ein Programm für Arithmetische Berechnungen geschrieben, welches unter anderem die Fakultät einer beliebigen positiven Zahl berechnet.
Es läuft bis ca. zahl=20 auch gut. Nur ab dann kommt es in unregelmäßigen Abständen dazu, dass die Ergebnisse mit negativen Vorzeichen ausgegeben werden.
Hier noch der Code:
implementation
Function Fakultaet(Zahl : Int64): Int64;