2016-04-20 8 views
-1

Ich muss in MySQL alle Preise von Benutzern gespeichert speichern. Die Preise werden von den Benutzern eingereicht werden, können diese Formate enthalten:PHP/MySQL Konvertieren und speichern formatierte Preise

123.456,78 (ARG format) 
123,456.78 (US format) 
    123456,78 (ARG simplified format) 
    123456.78 (US simplified format) 

In MySQL habe ich eine Spalte mit dem Namen „Preis“ vom Typ decimal.

Meine Frage ist, wie kann ich diese Formate in decimal konvertieren, um sie in meiner Datenbank zu speichern ?, oder, wie kann ich Werte in "ARG vereinfachtes Format" konvertieren, um alle als varchar zu speichern? Ich brauche alle mit dem gleichen Format (zwei Dezimalstellen).

+0

Warum negative Stimmen? Erklären Sie Ihre Gründe ... – Manux22

+2

Warum beschränken Sie nicht die Benutzereingabe, so dass Sie die Währung formatieren können, sobald der Benutzer eingibt? PS: Ich habe dich nicht gewählt. Auch, und weil Sie ein neuer Stack-Benutzer sind, lesen Sie [Wie stelle ich eine gute Frage?] (Http://stackoverflow.com/help/how-to-ask). GL –

+0

Dies ist ein Anwendungsproblem. Es wäre ungeschickt, es in SQL zu versuchen. Stellen Sie sich das so vor: Eine Datenbank ist für Daten; Formatierung (eingehende oder ausgehende) sollte von der Anwendung behandelt werden. (Nein, ich habe dich auch nicht abgelehnt.) –

Antwort

1

Ich habe versucht, Ihnen mit your previous question zu helfen, das diesem ähnlich ist.

Meine Lösung ist die Benutzereingabe auf der Clientseite zu begrenzen/formatieren, denn das können Sie den html5 Eingang type=number mit einer step (Erhöhung) von 0.01 verwenden.

<input type="number" step="0.01" value='0.00' placeholder='0.00'>


Hinweise:

Achten Sie darauf, die Werte auf der Serverseite zu validieren.

+1

ja, tut mir leid, aber in der vorherigen Frage habe ich falsch ausgedrückt, @PedroLobito haben Grund. Es ist nicht einfach für mich, auf Englisch zu schreiben, sorry. Dies ist eine Lösung, aber in meinem Land ist die Dezimalzahl durch ein Komma getrennt (aber das ist kein Problem). Ich habe diese Lösung vermieden, weil ich alles geplant hatte, um das andere Format zu verwenden. Aber ich denke das hat keine andere Lösung. Vielen Dank – Manux22