colaka hat folgendes geschrieben : |
Hallo,
ich habe ein grundsätzliches Verständnisproblem und zwar würde mich interessieren, als was ich meine Variablen am besten deklariere. |
Kommt auf die Verwendung an.
colaka hat folgendes geschrieben : |
| Ich arbeite an einem kaufmännischen Programm und möchte meine Preise kalkulieren. Also auf die Genauigkeit nach der x-ten Stelle kommt es überhaupt nicht an, weil ein paar Cent mehr oder weniger keine Rolle spielen. |
Mein Ex-ISP hat gestern von mir ne Mail bekommen, weil in einer Rückbuchung ~30 Cent fehlten. Nutzt der etwa dein Programm *gfg*
Kenne zudem Leute, die schon einmal eine Rechnung reklamiert bekommen haben, weil die MwSt falsch gerundet war (1 Cent!!!).
colaka hat folgendes geschrieben : |
| Bisher habe ich meine Preise als Single deklariert, weil diese laut der Delphi-Hilfe nur 4 Byte groß sind. Doch jetzt habe ich in einem Delphi-Buch gelesen, daß Single-Werte intern sowieso in Extended-Werte umgewandelt werden, weil Windows damit schneller rechnen kann. |
Welches Delphi-Buch schreibt so nen Müll???
Single, Double und Extended sind alles dreis native Float-Formate der FPU, die beim Laden in die FPU in ein internes Format konvertiert werden (Extended brauch diese Konvertierung nicht, weil das bereits das interne Format ist). Auf Grund der Größe gehen sowohl Double als auch Extended (auf Grund des Verschnitts sogar besonders) schlecht zu lesen, weshalb es zu Performance-Einbrüchen kommt, wenn man diese häufig läd und speichert (was der Delphi-Compiler bei FPU-Code auch fleißig tut. Gerechnet wird alles intern als Extended (sei denn, man stellt das FPU-ControlWord um).
colaka hat folgendes geschrieben : |
Sollte ich meine Variablen also gleich als Extended deklarieren, weil sie dann nicht mehr umgewandelt werden müssen? Oder was für einen Datentyp würdet ihr mir in diesem Fall empfehlen?
|
Für Geldbeträge gibt es
Currency ...
colaka hat folgendes geschrieben : |
| Danke Ebi |
Gruß, BenBE.
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.