PHPでは、 Money_Format関数は、数値を通貨フォームにフォーマットするための一般的に使用されるツールです。システムのロケールに応じて、通貨記号、セパレーター、小数点以下の場所の表示方法を調整します。この関数は、値を1000分の値で通貨フォームに簡単にフォーマットできます。
<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>
$フォーマット:通常、通貨記号( $ 、 €など)を含むフォーマットされた文字列と、数千文字や小数文字などのフォーマットされた文字です。
$番号:フォーマットする必要がある番号です。
Money_Format関数を使用する前に、正しい領域を設定して、フォーマットされた出力が必要な通貨形式と一致するようにする必要があります。 PHPは、 setlocale関数を介して領域を設定します。
<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">// 米国の英語を話す地域として設定します,ドルサインと数千を使用してください</span></span><span>
</span></span>
このコード行では、この地域を英語EN_US.UTF-8に設定します。つまり、すべての通貨関連形式は、ドル記号$ 、数千、小数点を含む米国の基準を採用します。
次に、 Money_Formatを使用して金額をフォーマットできます。たとえば、通貨として番号をフォーマットするとします。
<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">// 出力:$1,234,567.89</span></span><span>
</span></span>
ここでフォーマットされた文字列「%.2n」は次のことを意味します。
%.2 :2つの小数点が保持されることを意味します。
n :通貨記号を持つ数値が出力であり、現在の領域の設定に適応していることを示します。
異なる通貨記号(ユーロ、ポンドなど)の量をフォーマットする場合は、ロケールを調整するだけです。例えば:
<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">// ドイツの地域として設定します,ユーロシンボルを使用します</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">// 出力:1.234.567,89 €</span></span><span>
</span></span>
ドイツの地域設定では、通貨形式が変更され、千分子が変更され、小数点記号が変わり、通貨記号はユーロシンボル€です。
Money_formatは、この機能をサポートするオペレーティングシステムでのみ使用できます。一般に、 Money_FormatはLinuxやMacOSなどのUnixのようなシステムで利用できますが、Windowsシステムでは利用できない場合があります。開発環境がWindowsの場合は、 number_formatなどの他のフォーマット方法の使用を検討できます。
Money_Formatは、現在の領域の設定に従って形式を自動的に適応させるため、異なる領域で異なるフォーマット結果が得られる可能性があります。
システムのロケールに依存する必要がない場合、またはMoney_Formatをサポートしていないシステムで動作する必要がある場合は、PHPのnumber_format関数を使用して、金額を手動でフォーマットして数千を追加できます。
<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">// 出力:$1,234,567.89</span></span><span>
</span></span>
number_format関数は、次のパラメーターを提供します。
最初のパラメーター:番号。
2番目のパラメーター:小数点後に保持された数字の数。
3番目のパラメーター:小数点記号(通常。 )。
4番目のパラメーター:サウザンドサイン(通常、 )。
PHPのMoney_Format関数は非常に便利なツールです。特に通貨のフォーマットを扱う場合、さまざまな地域の設定に応じて形式を自動的に調整でき、手動処理の多くの問題を節約できます。ただし、開発環境がこの機能をサポートしているかどうかを確認してください。そうでない場合は、代わりにnumber_formatを使用できます。