php中,我們常常需要將數字格式化成貨幣字串,這時就需要使用php的內建函數money_format()函數,本文就帶大家一起來看看這個函數。首先我們來看看這個函數的語法:
money_format ( string $format , float $number )
$format:規定要格式化的字串及如何格式化字串中的變數。單一 % 字元可選的標記(flags)可選的字段寬度可選的,左側精度可選的,右側精度必選的,單個轉換字元。
$number:需要格式化的數字。
傳回值:傳回格式化後的字元。格式字串前後的字元將原封不動回傳。 傳入的 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中文網其他相關文章!