Mit Dezimalzahlen rechnen

weedo

Erfahrenes Mitglied
Hi,

ich arbeite gerade an einem Shop und habe ein ziemliches Problem mit Dezimalzahlen.

Der Admin hat bei mir im Script die möglichkeit einen Preis für sein Produkt einzutragen. Als Beispiel 19,99€.

Das speicher ich jetzt in meine Datenbank ab. Wenn ich das nun auslese und bei einer Bestellung mit der Anzahl mulipliziere, rechnet PHP nur mit 19 und nicht mit 19,99.

Da das aber pro produkt fast 1€ sind, wäre das fatal.

Wie kann ich nun mit 19,99 rechnen?

lg weedo
 
Du musst den Wert erst in den internen Datentyp umwandeln (englische Schreibweise mit Punkt als Dezimaltrennzeichen), beispielsweise:
PHP:
$str = '19,99';
$float = (float) str_replace(',', '.', preg_replace('/[^\d,]/', '', $str));
Dann kannst du damit problemlos arbeiten.
 
Der Admin war ziemlich schlampig :P

In die Datenbank gehen, gucken ob das Feld für den Preis dort FLOAT ist. Wenn nicht in Float umändern.
 
Zurück