首頁  >  文章  >  後端開發  >  解析PHP中的money_format ()函數

解析PHP中的money_format ()函數

autoload
autoload原創
2021-04-28 10:14:335349瀏覽

    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, &#39;en_US&#39;);
echo money_format(&#39;%i&#39;, $number) . "\n";
// USD 1,234.56

// 打印意大利国家的格式,带两位浮点小数`
setlocale(LC_MONETARY, &#39;it_IT&#39;);
echo money_format(&#39;%.2n&#39;, $number) . "\n";
// Eu 1.234,56
?>

2.負數的使用

<?php
$number = -1234.5672;
// 美国国家的格式,使用圆括号 () 标记负数。
// 左侧精度使用十位
setlocale(LC_MONETARY, &#39;en_US&#39;);
echo money_format(&#39;%(#10n&#39;, $number) . "\n";
// ($        1,234.57)

// 相似的格式,添加了右侧两位小数点的精度,同时用 * 来填充
echo money_format(&#39;%=*(#10.2n&#39;, $number) . "\n";
// ($********1,234.57)

3.格式字串前後,加入一些簡介

<?php
setlocale(LC_MONETARY, &#39;en_GB&#39;);
$fmt = &#39;The final value is %i (after a 10%% discount)&#39;;
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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn