Hallo,
Die Frage ist jetzt, steht danach in der Datenbank das hier:
name | price | currency_id
X | 23.00 | 1
y | 12.00 | 2Oder folgendes:
name | price | currency_id
X | 23.00 | 1
y | 8.00 | 1 <= die Umrechnung hat bereits vorher stattgefunden
ganz klar ersteres. Im unten aufgeführten Fall kannst du u.U. den Originalbetrag von 12.00 aus den in der Datenbank gespeicherten 8.00 durch Rundungsdifferenzen und abschneiden von Nachkommastellen nicht mehr rekonstruieren.
Nicht desto trotz würde ich eine Art von Basiswährung im Programm führen.
Und sei es nur um die Eingabe eines Betrags zu vereinfachen. Wenn nur eine Angabe zum Betrag (ohne Währung) gemacht wird, dann ist das eben in dieser "Basiswährung".
Und noch so am Rande, aus Lesbarkeitsgründen ist es häufig sinnvoller statt einer WährungsID den ISO-Code zu speichern. Glaub mir ;-)
Grüße,
Jochen
Kritzeln statt texten: