In PHP ist die Money_Format -Funktion ein häufig verwendetes Werkzeug, um Zahlen in Währungsformen zu formatieren. Es passt die Anzeigemethode von Währungssymbolen, Separatoren und Dezimalstellen gemäß dem Gebietsschema des Systems an. Diese Funktion kann den Wert leicht in eine Währungsform mit Tausendstel des Wertes formatieren.
<span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-title function_ invoke__">money_format</span></span><span> ( </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$format</span></span><span> , </span><span><span class="hljs-keyword">float</span></span><span> </span><span><span class="hljs-variable">$number</span></span><span> )
</span></span>
$ format : ist eine formatierte Zeichenfolge, die normalerweise Währungssymbole (wie $ , € usw.) sowie formatierte Zeichen wie Tausende und Dezimalzeichen enthält.
$ nummer : Ist eine Nummer, die formatiert werden muss.
Bevor Sie die Funktion Money_Format verwenden, müssen Sie den richtigen Bereich festlegen, um sicherzustellen, dass die formatierte Ausgabe dem gewünschten Währungsformat übereinstimmt. PHP setzt die Region durch die SetLocale -Funktion.
<span><span><span class="hljs-title function_ invoke__">setlocale</span></span><span>(LC_MONETARY, </span><span><span class="hljs-string">'en_US.UTF-8'</span></span><span>); </span><span><span class="hljs-comment">// Set als englischsprachige US-Region,Verwenden Sie Dollarschilder und Tausende</span></span><span>
</span></span>
In dieser Codezeile setzen wir die Region auf US-Englisch en_us.utf-8 , was bedeutet, dass alle währungsbezogenen Formate US-Standards annehmen, einschließlich des Dollar-Zeichens $ , Tausende und Dezimalpunkte .
Als nächstes können Sie Money_Format verwenden, um den Betrag zu formatieren. Angenommen, Sie möchten eine Zahl als Währung formatieren:
<span><span><span class="hljs-variable">$amount</span></span><span> = </span><span><span class="hljs-number">1234567.89</span></span><span>;
</span><span><span class="hljs-variable">$formattedAmount</span></span><span> = </span><span><span class="hljs-title function_ invoke__">money_format</span></span><span>(</span><span><span class="hljs-string">'%.2n'</span></span><span>, </span><span><span class="hljs-variable">$amount</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$formattedAmount</span></span><span>; </span><span><span class="hljs-comment">// Ausgabe:$1,234,567.89</span></span><span>
</span></span>
Die formatierte Zeichenfolge '%.2n' hier bedeutet:
%.2 : bedeutet, dass zwei Dezimalstellen erhalten bleiben.
N : Gibt an, dass die Zahl mit Währungssymbolen ausgegeben wird und sich an die Einstellungen des aktuellen Bereichs anpasst.
Wenn Sie den Betrag der verschiedenen Währungssymbole (z. B. Euro, Pfund usw.) formatieren möchten, müssen Sie nur das Gebietsschema anpassen. Zum Beispiel:
<span><span><span class="hljs-title function_ invoke__">setlocale</span></span><span>(LC_MONETARY, </span><span><span class="hljs-string">'de_DE.UTF-8'</span></span><span>); </span><span><span class="hljs-comment">// Als Region in Deutschland festgelegt,Verwenden Sie das Euro -Symbol</span></span><span>
</span><span><span class="hljs-variable">$formattedAmount</span></span><span> = </span><span><span class="hljs-title function_ invoke__">money_format</span></span><span>(</span><span><span class="hljs-string">'%.2n'</span></span><span>, </span><span><span class="hljs-variable">$amount</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$formattedAmount</span></span><span>; </span><span><span class="hljs-comment">// Ausgabe:1.234.567,89 €</span></span><span>
</span></span>
Unter den deutschen regionalen Einstellungen ändert sich das Währungsformat, der Tausendste wird geändert und das Dezimalpunktsymbol wird und das Währungssymbol ist das Euro -Symbol € .
Money_Format kann nur in Betriebssystemen verwendet werden, die diese Funktion unterstützen. Im Allgemeinen ist Money_Format auf UNIX-ähnlichen Systemen wie Linux und MacOS verfügbar, ist jedoch möglicherweise nicht auf Windows-Systemen verfügbar. Wenn Ihre Entwicklungsumgebung Windows ist, können Sie in Betracht ziehen, andere Formatierungsmethoden wie Number_Format zu verwenden.
Money_Format passt das Format automatisch an die Einstellungen des aktuellen Bereichs an, sodass in verschiedenen Regionen unterschiedliche Formatierungsergebnisse erzielt werden können.
Wenn Sie sich nicht auf das Gebietsschema des Systems verlassen oder in Systemen arbeiten müssen, die keine Money_Format unterstützen, können Sie die Number_Format -Funktion von PHP verwenden, um den Betrag manuell zu formatieren und die Tausenden hinzuzufügen:
<span><span><span class="hljs-variable">$formattedAmount</span></span><span> = </span><span><span class="hljs-string">'$'</span></span><span> . </span><span><span class="hljs-title function_ invoke__">number_format</span></span><span>(</span><span><span class="hljs-variable">$amount</span></span><span>, </span><span><span class="hljs-number">2</span></span><span>, </span><span><span class="hljs-string">'.'</span></span><span>, </span><span><span class="hljs-string">','</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$formattedAmount</span></span><span>; </span><span><span class="hljs-comment">// Ausgabe:$1,234,567.89</span></span><span>
</span></span>
Die Funktion number_format liefert die folgenden Parameter:
Der erste Parameter: Nummer.
Der zweite Parameter: Die Anzahl der Ziffern, die nach dem Dezimalpunkt erhalten bleiben.
Der dritte Parameter: das Dezimalpunktsymbol (normalerweise . ).
Der vierte Parameter: das tausendste Zeichen ( normalerweise ).
Die Money_Format -Funktion von PHP ist ein sehr bequemes Instrument, insbesondere wenn es sich um die Währungsformatierung handelt. Sie kann das Format automatisch anhand der Einstellungen verschiedener Regionen anpassen und viel Probleme bei der manuellen Verarbeitung einsparen. Denken Sie jedoch daran, zu überprüfen, ob Ihre Entwicklungsumgebung diese Funktion unterstützt. Wenn dies nicht der Fall ist, können Sie stattdessen Number_Format verwenden.