Camping_RIDER: Preise in DB speichern, Datentyp

Beitrag lesen

Aloha ;)

Ich habe aber auch schon Beiträge gesehen, wo empfohlen wurde einen Integer zu nehmen und die
Beträge in Cent umzurechnen.
Macht das Sinn?

Das macht genausowenig Sinn wie alles andere.

Sinnvoll könnte die Methode trotzdem sein. Einfach deshalb, weil Integer der einfachst mögliche Zahlentyp ist. Weiterhin möchtest du die Ausgabe vielleicht dahingehend kontrollieren, welche Dezimalzeichentrennung genutzt wird. Je nach System, das die Datenbank nachher verwenden soll, ist das dort mit Integern unter Umständen einfacher - zumal Geldbeträge immer exakt zwei Nachkommastellen besitzen.

Fließkommaoperationen sind in Computersystemen grundsätzlich problematisch (Effekte wie Auslöschung und Co.) - auch wenn das in deinem Fall wahrscheinlich oft keine Rolle spielt (so extrem viele Stellen sind bei Geldwerten nicht vorstellbar).

Wie würdet ihr das machen?

Unter verlinkter Wikipediaseite zur Gleitkommazahl findest du den Grund, warum Finanzmathematik nicht mit Gleitkommaoperationen gemacht wird, unter Dezimalzahlen.

Aufgrund der vielen Gründe, keine Gleitkommazahlen für Finanzen zu verwenden (möge die Wahrscheinlichkeit, dass ein Fehler auftritt, aucb noch so gering sein) und wegen dem geringen Aufwand (direkt vor der Ausgabe, also nach der Rechnung, kann einfach stur durch 100 geteilt werden) würde ICH mich für Integer entscheiden. Hatte mir vor deinem Thread darüber aber auch noch nie Gedanken gemacht.

Grüße,

RIDER

P.S.: An CK und Matthias Apsel - ihr seht an meinem Link oben, dass das Link-Parsen zumindest hier noch nicht immer ordentlich geht. Wahrscheinlich hätte ich die URI-encodete Variante nehmen müssen, dazu war ich aber zu faul. Und 0815-User weiß nicht wie das geht. Oder hab ich was anderes falsch gemacht?

--
Camping_RIDER a.k.a. Riders Flame a.k.a. Janosch Zoller
ch:? rl:| br:> n4:? ie:% mo:| va:) js:) de:> zu:) fl:( ss:| ls:[