Hallo,
ich schreibe gerade ein Programm, daß mit sehr großen Zahlen umgeht, z.B. 1e18.Dafür benutze ich den Datentyp extended.
Nun möchte ich diese Zahl runden. Der Befehl Round gibt jedoch einen LongInt zurück. Das gibt natürlich eine Fehlermeldung, weil erstens der Typ LongInt zu klein ist, und zweitens versucht wird einen LongInt einem extended zuzuweisen.
Wie also lässt sich eine Zahl vom Typ extended runden?
Über den Umweg eines Strings, bei dem man die Kommastellen abschneidet, ist zu Umständlich, da die Schreibweise 1e18 erst umgewandelt werden müßte.
Gruß hubi
Hi!
ich schreibe gerade ein Programm, daß mit
sehr großen Zahlen umgeht, z.B.
1e18.Dafür benutze ich den Datentyp
extended.
Nun möchte ich diese Zahl runden. Der
Befehl Round gibt jedoch einen LongInt
zurück. Das gibt natürlich eine
Fehlermeldung, weil erstens der Typ
LongInt zu klein ist, und zweitens
versucht wird einen LongInt einem
extended zuzuweisen.
Wie also lässt sich eine Zahl vom Typ
extended runden?
Über den Umweg eines Strings, bei dem man
die Kommastellen abschneidet, ist zu
Umständlich, da die Schreibweise 1e18
erst umgewandelt werden müßte.
Ich schreib grade an einem Projekt, das unter anderem mit riesigen ganzen Zahlen umgehen kann. Wenn Du willst, kann ich Dir mal die Unit für die TLargeInteger mailen. Damit währe das möglich.
Bye
Hansi
Ich schreib grade an einem Projekt, das
unter anderem mit riesigen ganzen Zahlen
umgehen kann. Wenn Du willst, kann ich
Dir mal die Unit für die TLargeInteger
mailen. Damit währe das möglich.Bye
Hansi
Wär nicht schlecht. Aber funktioniert das denn für meinen Bereich? Es handelt sich um ein Umrechnungsprog. , daß Werte von mm - Lichtjahre umwandelt. Das Problem dazwischen ist die Berechnung von Zoll im Bruchformat. Da eben Brauche ich die ganze Zahl ohne Nachkommastellen. Mir würde auch eine Extended reichen, bei der die Kommastellen gekappt werden.
wenn Du meinst, daß deine Unit geeignet ist, schick mal rüber. Schönen Dank schon mal im voraus.
Gruß bernd