PHP では、数値を通貨文字列にフォーマットする必要があることがよくあります。この場合、PHP の組み込み関数 Money_format() 関数を使用する必要があります。この記事では、この関数について説明します。まず、この関数の構文を見てみましょう。
money_format ( string $format , float $number )
$format: フォーマットする文字列と、文字列内の変数をフォーマットする方法を指定します。単一の % 文字のオプションのフラグ、オプションのフィールド幅、オプション、左精度はオプション、右精度は必須、単一の変換文字。
$number: 書式設定する必要がある数値。
戻り値: フォーマットされた文字を返します。フォーマット文字列の前後の文字は変更されずに返されます。渡された数値が数値でない場合は、null が返され、E_WARNING が生成されます。
注: money_format()
関数 この関数は、C 関数ライブラリの
strfmon() をラップします。これは、この関数を実行しているシステムに
strfmon 関数があるが、
Windows システムにはない場合にのみ使用できます。すべての
money_format() は ## で利用できます。 #Windows
が定義されていないため、未定義エラーが発生します。または、使用している php バージョン
が 4.3
よりも古いです。
1. 正の数の使用
<?php $number = 1234.56; // 打印 en_US locale 的国际化格式 setlocale(LC_MONETARY, 'en_US'); echo money_format('%i', $number) . "\n"; // USD 1,234.56 // 打印意大利国家的格式,带两位浮点小数` setlocale(LC_MONETARY, 'it_IT'); echo money_format('%.2n', $number) . "\n"; // Eu 1.234,56 ?>
2. 負の数の使用<?php
$number = -1234.5672;
// 美国国家的格式,使用圆括号 () 标记负数。
// 左侧精度使用十位
setlocale(LC_MONETARY, 'en_US');
echo money_format('%(#10n', $number) . "\n";
// ($ 1,234.57)
// 相似的格式,添加了右侧两位小数点的精度,同时用 * 来填充
echo money_format('%=*(#10.2n', $number) . "\n";
// ($********1,234.57)
3. 形式文字列の前後に説明を追加します
<?php setlocale(LC_MONETARY, 'en_GB'); $fmt = 'The final value is %i (after a 10%% discount)'; echo money_format($fmt, 1234.56) . "\n"; // The final value is GBP 1,234.56 (after a 10% discount)
《2021 PHP 面接の質問まとめ (集)》《php ビデオ チュートリアル》
以上がPHP でのmoney_format () 関数の解析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。