Ich habe versucht, eine geldbezogene App zu erstellen, in der Benutzer ihre Währung wählen können. Mysql Datentyp Ich versuchte, ist dezimal (19,4). Jetzt ist das Problem, dass einige Währungen drei Genauigkeiten benötigen und einige brauchen zwei ZB: Oman Rial benötigt drei Genauigkeiten. dh 1000 baisa = 1 omani rial. Daher können meine Kunden 6.783 Omanial eingeben. Wo meine US-Kunden nur 2 Genauigkeiten als 100 Cent = 1 Dollar benötigen und sie können 5.50 eingeben.Mysql Datentyp für Geld
Wenn ich diese beiden Einträge in meine Datenbank mit Dezimal (19,4) einfügen, wird es als 6.7830 und 5.5000 jeweils gespeichert.
Jetzt ist der wahre Schmerz, wenn ich ihre Einträge anzeigen muss, da ich nicht diese zusätzliche 0 in omani rial Eintrag und diese 00 in US-Dollar anzeigen möchte. Ich habe auch Float versucht, aber die letzte Ziffer wird manchmal abgerundet.
Gibt es einen Mysql-Datentyp, in dem ich die exakte Eingabe speichern kann, ohne irgendwelche Abrundungen oder zusätzliche Nullen? Wenn es keinen solchen Eintrag gibt, wie kann ich es möglich machen?
Wie kann ich die entsprechenden Ziffern verfolgen? Muss ich eine neue Spalte erstellen, um die Anzahl der Ziffern nach dem Punkt zu verfolgen. Dh muss ich 3 im Falle von 6.783 speichern? – Rishad
Deklarieren Sie den Spaltentyp mit der Genauigkeit, die von der Währung verwendet wird, die die meisten Stellen der Genauigkeit erfordert. Alle anderen Währungen können diesen Datentyp ebenfalls verwenden. Ihre Anwendung müsste Logik enthalten, um die Werte je nach Währungstyp unterschiedlich zu formatieren. –
Beachten Sie, dass 'DECIMAL (.., 4)' nur 1 Byte mehr als '(.., 2)' braucht, so dass es nicht viel Speicherplatz verschwendet. Ich stimme zu, dass es an der App liegt, die unerwünschten abschließenden Nullen zu entfernen. –