Spaltentyp für Preisangabe?

low-group

Erfahrenes Mitglied
was für einen Spaltentyp kann ich am besten für eine Preisangabe nehmen, sodaß der User diesen z.b. so eingeben kann: 3.480,99 ?
Ich hab es mit double(16,2) versucht, aber bei groen Zaheln wird dies irgendwie unübersichtlich z.b. so: 30000000.99
 
Hi,

mach doch einen Varchar 255 und in Php nimmste dir die Eingabe und machste mit nem stringreplace durch das Komma ein punkt, dann kannste auch damit rechnen. So habe ich es jetzt bei meinem onlineShop gemacht.

So hast du einen erheblich vorteil, du kannst auch preise eingeben, die mehr Kommastellen haben. Zum Beispiel beim umrechnen von Währungen.
 
und wie bekome ich bei tausender einen Pnkt gesetzt? Auch mit stringreplace ? Wie müßte dies dann aussehen?

ups bei varchar kann man dies ja mit Punkt angeben, nur mal schauen, wie ich dan damit rechnen kann...
 
Zuletzt bearbeitet:
der User gibt den Preis mit . und , an und so speicherst du ihn in ein Varcharfeld deiner Läge, 255 halte ich für etwas übertrieben aber gut.
Dann liest du das teil irgendwann wieder aus der DB aus und ersetzt alle . durch "nichts" und das Komma durch einen Punkt, somit hast du eine Float-Zahl, also so:

PHP:
//$zahl ist die Beispielsweise ausgelesene Zahl
 $zahl = "1.500,99";
//. entfernen
 $zahl = str_replace(".", "", $zahl);
//, durch . ersetzen
 $zahl = str_replace(",", ".", $zahl);

//und Zum testen mit 2 mulitplizieren und ausgeben:

$ergebnis = $zahl * 2;
echo $ergebnis."\n";
 
Zurück