現在の位置: ホーム> 最新記事一覧> Money_formatを使用して2つの小数点以下の場所の通貨形式を出力する方法は?

Money_formatを使用して2つの小数点以下の場所の通貨形式を出力する方法は?

gitbox 2025-05-26

Money_Format機能とは何ですか?

Money_Formatは、PHPの組み込みのフォーマット機能であり、Localeに応じて通貨文字列をフォーマットするために使用されます。その構文は次のとおりです。

<code> string money_format(string $ format、float $ number)</code>
  • $フォーマットは、出力形式を定義するフォーマット文字列です。

  • $番号は、フォーマットする必要がある番号です。

Money_Format関数はシステムのロケールに依存することに注意する必要があります。ロケールが正しく設定されていない場合、通貨記号またはフォーマットが正しく表示されない場合があります。


ロケールのセットアップ

Money_Formatを呼び出す前に、 SetLocale関数を使用して適切なエリア環境を設定する必要があります。たとえば、米国の英語環境に設定してください:

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

システムがこのロケールをサポートしていない場合は、サーバー環境に従って調整する必要があります。


フォーマット文字列の説明

Money_formatの形式の文字列はで始まり、その後複数の修飾子を持つことができます。

  • %I :国際通貨形式(USDなどの通貨コードを含む)

  • %n :ローカル通貨形式(通貨記号を含む)


サンプルコード:2つの小数点以下の標準通貨形式を保持します

1234.5の量があり、 Money_Formatを使用して、フォーマットをドル記号、ミラットで出力し、2つの小数を保持したいとします。

<Code> <?PHP //地域環境をアメリカの英語Setlocale(lc_monetary、 'en_us.utf-8')に設定します。

$額= 1234.5;

//%n形式を使用してローカル通貨形式を出力し、デフォルトで2つの小数点以下の場所を保持します
$ formatted = money_format( '%n'、$額);

Echo $フォーマット。
?>
</code>

出力の結果は通常次のとおりです。

<Code> $ 1,234.50 </code>

注意すべきこと

  1. Money_Format関数はLinux/UNIXシステムでのみ有効であり、Windows環境ではサポートされていません。

  2. PHP 7.4の後、後者が放棄されたとマークされているため、 Money_formatの代わりにNumberformatterクラスを使用することを正式に推奨します。

  3. クロスプラットフォームを使用し、新しいPHPバージョンと互換性のあるものを使用する必要がある場合は、 NumberFormatterを使用することをお勧めします。


互換性の代替品(推奨)

NumberFormatterを使用して同じ機能を実装します。

<Code> <?PHP $額= 1234.5; $ formatter = new Numberformatter( 'en_us'、numberformatter :: currency); echo $ formatcurrency($ homas、 'usd'); ?> </code>

出力は同じです:

<Code> $ 1,234.50 </code>

結論

Money_formatは依然として多くの古いプロジェクトで使用されていますが、 Numberformatterクラスを使用して、互換性と将来のメンテナンスの考慮事項のために通貨をフォーマットすることをお勧めします。この記事では、2つの小数点以下の場所の標準通貨形式を保持してMoney_Format出力を使用する方法を示し、開発者がニーズに基づいて柔軟な選択をすることができる最新の代替手段を提供します。