ich ein Unternehmen in Symfony für ein Produkt Preis haben auf folgende Weise definiert:Wie Dezimalwert über Lehre in Symfony speichern
/**
* @var string
*
* @ORM\Column(name="price", type="decimal", precision=12, scale=2, nullable=true)
*
*/
private $price;
Jetzt möchte ich 2.50 den Preis Wert speichern, aber es rundet bis zu 2.00 .i als (float) versucht hat, das Hinzufügen 2,50 oder als (string) 2,50 aber immer 2,00 abgerundet ist.
Sieht so aus, als könnte ich den Skalenwert nicht speichern?
IMHO, dies sollte nicht behandelt werden in der DB, es ist ein Anliegen für die Anzeige der Informationen und als solche sollte entweder von der Ansicht oder der Controller behandelt werden. –
Aber wie speichere ich dann einen Preis in der Datenbank? Ich muss wissen, wo der Punkt ist, wie 250 ist nicht das gleiche wie 2,50? Oder speichern Sie alle Werte als ganze Zahl in Cent, also nehmen Sie den Preis und multiplizieren Sie ihn mit 100, bevor er in die Datenbank geht? – Tom
Was ich in der Vergangenheit getan habe, ist, den Preis als eine ganze Zahl zu speichern, die Pennies darstellt; $ 2.50 wird 250 und $ 250.00 wird zu 25000. Verwenden Sie dann ['number_format'] (http://php.net/manual/en/function.number-format.php) (oder das [Twig-Äquivalent] (https: // twig (.symfony.com/doc/2.x/filters/number_format.html)), um den Wert in der Ansicht anzuzeigen. –