Welche Spaltentyp für Geldberechnungen?
Manuel
- datenbank
0 Philipp Hasenfratz0 Tom0 Lude0 Andreas Korthaus
0 Horst
Hallo
Welchen Spaltentyp muss ich in MySQL verwenden um mit Kommazahlen rechnen zu können?
Ich möchte mit PHP Geldbeträge eintragen die dann verrechnet und in der Datenbank gespeichert werden.
Ich hatte meine Betragsspalte bisher als INT
Wenn ich jedoch 23.50 in der Datenbank speichern möchte steht nur 23 drin oder so.
Es wäre vom Vorteil wenn die Beträge auch mit den übrigen Nullen gespeichert werden. Sprich wenn 25 - 15.50 berechnet wird soll auch 9.50 in die Datenbank geschrieben werden und net 9.5
wichtig ist halt dass ich das dann später wieder auslesen und weiter berechnen kann.
MFG
Manuel
Halihallo Manuel
Welchen Spaltentyp muss ich in MySQL verwenden um mit Kommazahlen rechnen zu können?
Du weisst, dass es zu MySQL eine Dokumentation gibt, ja?
http://www.mysql.com/doc/en/Column_types.html
DOUBLE, FLOAT, REAL, ... alles "Kommezahlen"-Datentypen...
Viele Grüsse
Philipp
Hello,
Du weisst, dass es zu MySQL eine Dokumentation gibt, ja?
http://www.mysql.com/doc/en/Column_types.html
DOUBLE, FLOAT, REAL, ... alles "Kommezahlen"-Datentypen...
Buchhalterische Werte speichert man nicht in Zahlentypen mit variabler Nachkommastelle, sondern immer in Datentypen mit fester Nachkommaanzahl. Dazu gibt es auch Vorschriften vom Bundesamt für Finanzen
http://www.bff-online.de/
Liebe Grüße aus http://www.braunschweig.de
Tom
Hi,
Buchhalterische Werte speichert man nicht in Zahlentypen mit variabler Nachkommastelle, sondern immer in Datentypen mit fester Nachkommaanzahl.
wobei die feste "Nachkommaanzahl" (huebsches Wort uebrigens) auch '0' sein darf.
Dazu gibt es auch Vorschriften vom Bundesamt für Finanzen
http://www.bff-online.de/
Taete mich interessieren. Leider kann ich nicht nachvollziehen, auf was Du Dich beziehst. Worauf beziehst Du Dich?
Gruss,
Lude
Hi!
DOUBLE, FLOAT, REAL, ... alles "Kommezahlen"-Datentypen...
Buchhalterische Werte speichert man nicht in Zahlentypen mit variabler Nachkommastelle, sondern immer in Datentypen mit fester Nachkommaanzahl. Dazu gibt es auch Vorschriften vom Bundesamt für Finanzen
http://www.bff-online.de/
Ach, da gibt es tatsächlich feste Regeln für die Speicherung? Auch für die Berechnungen selbst? Irgendwie bin ich vermutlich ein bisschen blind, aber ich finde da so überhaupt keine Aussage zum Thema (dafür finde ich ein Foto von tux
<img src="http://www.bff-online.de/linux/pinguin.gif" border="0" alt="">
;-)). Weißt Du zufällig noch wo das stand?
Grüße
Andreas
Hallo Manuel,
in der Dokumentation steht hierzu:
Akkurate Darstellung monetärer Werte ist ein häufiges Problem. In
MySQL sollten Sie den DECIMAL-Typ benutzen. Dieser wird als
Zeichenkette gepeichert, weshalb kein Genauigkeitsverlust auftreten
sollte. Wenn Genauigkeit nicht allzu wichtig ist, sollte auch der
DOUBLE-Typ ausreichen.
Um hohe Präzision zu erzielen, können Sie immer auch in einen
Festkommawert umwandeln, der in einer BIGINT gespeichert wird. Das
erlaubt Ihnen, alle Berechnungen mit Ganzzahlen durchzuführen und
die Ergebnisse nur wenn notwendig in Fließkommawerte
zurückzuwandeln.
http://www.mysql.de/doc/de/Numeric_types.html
Hoffe ich konnte Dir helfen
Horst