PHP und Geld, der Umwandlung von Geld Cent

So, ich habe getan, ein gutes Stück der Forschung auf, wie zu speichern "Geld" in eine Datenbank und ich denke, das system, das ich verwenden möchte ist

Umwandlung von Geld in CENT und die Speicherung der CENT in eine MySQL-DB mit einem Feld-Typ DECIMAL (19,4).

Meine Frage ist, WENN ich ein Eingabefeld vom user... wie gehe ich mit mehreren input-Typen.
IE:

$input = "1,346.54"
$input = "10,985.23"
$input = "110,400.50"
$input = "1033.44"

etc etc...

Was wäre die beste Methode für die Umrechnung der CENT? Als wir es zu tun haben mit "strings" und konvertieren Sie Sie in INT, und dividieren durch 100... Alles, was ich versuche, wirft Probleme wegen der "Komma" Trennung mit den zahlen.

Irgendwelche Gedanken oder Richtung wäre sehr dankbar.

  • Sie sollten auch beachten, dass einige Länder/locales wechseln die Bedeutung und die position des Kommas und der Zeitraum, in zahlen: z.B. 10.985,23
  • Ähnlich: stackoverflow.com/questions/5059831/parse-currency-from-string
  • Hm, also deine Frage ist eigentlich so entfernen Sie das "Komma" aus dem Eingabe-strings?
  • Aus Neugier, warum verwenden Sie ein DECIMAL Spalte konvertieren und dann alles auf Cent, so dass Sie nicht haben, um sorgen über die Fraktionen? Speichern nur den (potenziell Bruch -) dollar-Betrag in die DECIMAL-Spalte und vermeiden dieses ganze Thema...
  • Ich bin der Konvertierung in Cent rein für die Berechnungen die Straße runter... es ist einfacher zu berechnen, gegen die 'Cent' als ganzes, anstatt sich mit "Rundung" und andere Fragen... auf diese Weise erhalten Sie nicht Durchsickern " von Geld in obskuren Orten.
  • Im Allgemeinen werden Sie entweder konvertieren Cent und speichern als INTEGER, ODER lassen Sie als Dollar und Cent, und die Speicherung als DEZIMALZAHL(13,4) angenommen, Sie wollen kompatibel bleiben mit GAAP. Ihre Entscheidung für Cent ist die richtige, aber die Entscheidung für Dezimal ist unnötig und verlieren Sie einige der Vorteile der Integer-Speicherung und-manipulation.

InformationsquelleAutor Justin | 2011-07-08
Schreibe einen Kommentar