![]() |
AW: Currency oder Double
Zitat:
Darum denke ich, dass es - bei richtiger Anwendung - keine Falschberechnungsunterschiede (blödes Wort) zwischen Currency und Double gibt. Zitat:
Da speichere ich in den Stammdaten alle Nachkommastellen die der Double hergibt. Runden tu ich dann erst bei der Fakturierung. |
AW: Currency oder Double
Abrechnung in der Datenbank mit Numeric() also Festkomma, deshalb keine Probleme in dieser Beziehung.
Im Programm selbst wird Double verwendet, aber dort wird eigentlich nur addiert oder mit Ganzzahl multipliziert. Die Ausgabe wird natürlich gerundet. Probleme sind nicht bekannt. Das einzig bekannte Rundungsproblem hat nur indirekt mit dem Datentyp zu tun. Wir erstellen in der Regel Ausgangsrechnungen abei denen die Einzelpositionen Brutto ausgewiesen werden. Die Mehrwertsteuer wird auf den Gesamtbetrag je Mehrwertsteuersatz berechnet. Brutto MwSt. Steuer Netto 10,00 19% 1,60 8,40 Da sich dieser Betrag aber aus unterschiedlichen Leistungen zusammensetzt, sollen die Teilbeträge in die Buchhaltung getrennt für verschieden Erlöskonten übergeben werden. Brutto MwSt. Steuer Netto 06,60 19% 1,05 5,55 Erlöskonto1 03,40 19% 0,54 2,86 Erlöskonto2 Es gibt verschiedene Möglichkeiten das Problem zu umgehen (separate Steuerbuchung, Zwischenkonto), damit zumindest die Steuersumme stimmt. Diese sind nicht bei jeder Buchhaltungssoftware auf die gleich Weise anwendbar. Das Problem verschiebt sich dadurch nur, von welchem Erlöskonto zieht man jetzt den Steuer-Cent ab? |
AW: Currency oder Double
Zitat:
|
AW: Currency oder Double
!currency!
Ohne Currency gab es im Zusammenspiel von DB, Frontend und erstellten Briefen (Word mit ein paar Macros) immer wieder Abweichungen im Cent-Bereich, die nervig bis peinlich waren. Jetzt herrscht Ruhe! Gruß K-H |
AW: Currency oder Double
Da viele Textausgabefunktionen (Float->String) eher abrunden/abschneiden, müsste man beim Double entweder "runden" oder vor Anzeige 'nen 1/100stel oder 1/1000stel traufrechnen, damit meistens richtig "abgerundet" wird.
|
AW: Currency oder Double
Zitat:
|
AW: Currency oder Double
Also floating point ist floating point, egal wer mit wem und wo das programmiert wurde. Wenn Nexus-DB hier kein FP nimmt, sondern BCD, dann wäre das ja mal was, wobei 'Numeric(x,y)' zumindest in SQL-Server auch eine BCD ist.
FP und Währungen sind eine Qual. Wir haben ein Bankensystem, bei dem die Honks, die das programmiert haben, alle Währungen in der DB als 'float' abgebildet haben (SQL-Server) und nun müssen sie in jeder 2.Zeile die Werte krampfhaft runden. Und selbst dann kann ich von einem Konto, auf dem noch 9.99 Euro drauf sind, nicht immer 9.99 Euro abheben, weil der Dispo auf 0.00 ist und -0.0000000000000000123 eben weniger als 0.00 sind. :wall: Zu den Argumenten: "Bei mir ist noch nie was passiert" fällt mir immer nur der Autofahrer ein, der ohne Sicherheitsgurt fährt, und das gleiche sagt. Wegen interner Berechnungen von Zinsen etc. verwenden wir BCD, da ist Currency leider nicht genau genug. Aber in er DB würde ich nur noch 'money' verwenden. In der Darstellungsschicht würde ich allerdings auf Currency setzen, weil das irgendwie dem nahe kommt, was man darstellen will. Vor Jahren haben wir mal eine Logistik- und Abrechnungssoftware mit Double gebaut, das war ähnlich krank. Da hatten wir zwar keine Probleme in der DB, aber dafür bei der Rechnungslegung. Was da für Rundungsprobleme entstanden sind, verstehe ich bis heute nicht, aber sie waren da. |
AW: Currency oder Double
Zitat:
Zitat:
|
AW: Currency oder Double
[QUOTE=Lemmy;1294082das hinkt... [/QUOTE] Das Wesen eines guten Vergleiches ;-()
Du kannst auch mal ohne Gurt auf deinen Vordermann stupseln. Aber klar. Im Grunde genommen ist die Einstellung, ohne Gurt ginge es auch, etwas fataler in der Auswirkung als 'Double als Währung'. Grad gestern hat der 'Lead Developer' hier gemeint, wir sollten doch bitte auch in neuen Funktionen mit 'Float' und 'Double' arbeiten, sonst würde man ja ganz konfus.. :thumb: :wall: |
AW: Currency oder Double
Zitat:
Das soll jetzt kein Fürsprecher für Double sein. Aber auch mit Currency gibt es bestimmt auch Fallstricke. Man muss ich eben mit dem Zahlentyp auskennen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:13 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz