Aktueller Standort: Startseite> Neueste Artikel> Wie gibt ich ein Währungsformat von zwei Dezimalstellen mit Money_Format aus?

Wie gibt ich ein Währungsformat von zwei Dezimalstellen mit Money_Format aus?

gitbox 2025-05-26

Was ist die Funktion Money_Format ?

Money_Format ist eine integrierte Formatierungsfunktion in PHP, mit der Währungszeichenfolgen gemäß Gebietsschema formatiert werden. Seine Syntax ist wie folgt:

<Code> String Money_Format (String $ Format, float $ number) </code>
  • $ format ist eine Formatzeichenfolge, die das Ausgabeformat definiert.

  • $ nummer ist die Nummer, die formatiert werden muss.

Es ist zu beachten, dass die Funktion Money_Format vom Gebietsschema des Systems abhängt. Wenn das Gebietsschema nicht korrekt eingestellt ist, wird das Währungssymbol oder das Format möglicherweise nicht korrekt angezeigt.


Einrichten des Gebietsschemas

Vor dem Aufrufen von Money_Format müssen Sie die SetLocale -Funktion verwenden, um die entsprechende Flächenumgebung festzulegen. Zum Beispiel in das englische Umfeld der Vereinigten Staaten eingestellt:

<Code> setLocale (lc_monetary, 'en_us.utf-8'); </code>

Wenn Ihr System dieses Gebietsschema nicht unterstützt, muss es gemäß der Serverumgebung angepasst werden.


Beschreibung der Formatzeichenfolge

Die Format -Zeichenfolge von Money_Format beginnt mit % und kann danach mehrere Modifikatoren haben:

  • %I : Internationales Währungsformat (einschließlich Währungscode wie USD)

  • %N : Lokales Währungsformat (einschließlich Währungssymbole)


Beispielcode: Behalten Sie das Standardwährungsformat von zwei Dezimalstellen auf

Nehmen wir an, wir haben einen Betrag von 1234,5 und möchten Geld verwenden, um das Format mit Dollarschildern, Milliten und die beiden Dezimalstellen aufzubewahren.

<code> <? php // Setzen Sie die regionale Umgebung auf amerikanische englische SetLocale (LC_MONETARY, 'EN_US.UTF-8');

$ betragen = 1234,5;

// Verwenden Sie das %N -Format, um das lokale Währungsformat auszugeben, und behalten Sie standardmäßig zwei Dezimalstellen bei
$ formated = meyn_format ('%n', $ betragen);

echo $ formatiert;
?>
</code>

Das Ausgangsergebnis ist normalerweise:

<code> $ 1,234.50 </code>

Dinge zu beachten

  1. Die Money_Format -Funktion gilt nur für Linux/UNIX -Systeme und wird in der Windows -Umgebung nicht unterstützt.

  2. Nach PHP 7.4 wird offiziell empfohlen, die NumberFormatter -Klasse anstelle von Money_Format zu verwenden, da letztere als verlassen markiert wurde.

  3. Wenn Sie plattformübergreifend und mit neuen PHP-Versionen kompatibel sind, wird empfohlen, NumberFormatter zu verwenden.


Kompatibilitätsalternativen (empfohlen)

Implementieren Sie dieselbe Funktionalität mit NumberFormatter :

<Code> <? php $ betragen = 1234,5; $ formatter = new numberFormatter ('en_us', numberFormatter :: currency); echo $ formatcurrency ($ betragen, 'USD'); ?> </code>

Die Ausgabe ist gleich:

<code> $ 1,234.50 </code>

Abschluss

Obwohl Money_Format in vielen alten Projekten immer noch verwendet wird, wird empfohlen, die NumberFormatter -Klasse zu verwenden, um die Währung für Kompatibilität und zukünftige Wartungsüberlegungen zu formatieren. Dieser Artikel zeigt, wie man die Ausgabe von Money_Format verwendet, um das Standard -Währungsformat von zwei Dezimalstellen beizubehalten, und bietet eine moderne Alternative, mit der Entwickler flexible Entscheidungen auf der Grundlage ihrer Anforderungen treffen können.