Problem mit Zahlen nach dem Komma (EURO, CENT) Subtrahtion

ReqonxS

Mitglied
Guten Tag!
Ich bin dabei ein kleines und schlichtes WebShop CMS zu coden.
Bis jetzt ist auch alles schön und gut bis auf eine Sache.

Wenn ich das Kontostand - Kosten mache (Bsp: 500.00 - 5.50),
kommt als Ergebnis 495 raus. Meine Rechnung ist wie folgt:

$coins = number_format($UserData->coins - $price, 2, ',', '.');

In der Datenbank speicher ich es als double Typ ein.
 
Also wenn du 500.00 - 5.50 rechnest, dann kommt schon das richtige Ergebnis raus.

Doch wenn du es so wie oben formatierst, dann wird daraus nicht 494.50 (Punkt als Dezimaltrennzeichen) sondern 494,50 (Komma als Dezimaltrennzeichen) und das versteht vermutlich die Datenbank nicht!?

Wenn du dir nach dem Rechnen mal mit echo den Wert von $coins ausgeben läst, wirst du es sehen.
 
Indem du number_format entsprechend änderst oder zum Speichern ganz weg lässt.

Die Formatierung brauchst du nur wenn du die Zahlen im deutschen Format ausgeben willst.
 
Ich habe die Werte bereits ausgegeben.
Sind überall Kommas (500,00). Wie bekomme ich denn dort ein Punkt?
Danke dir, funktioniert perfekt.
 
Warum speichert man Dezimalzahlen in er Datenbank als "double" und nicht als "decimal"? Damit hast du auch dein Problem mit dem Komma/Punkt erledigt...vorausgesetzt, du hast im Script auch die Language, bzw. "LC_MONETARY" richtig gesetzt ;)
 
Zuletzt bearbeitet:
Zurück