| 導購 | 订阅 | 在线投稿
分享
 
 
 

PHP中的sprintf()函數的學習研究筆記

2008-12-22 08:09:03  編輯來源:互聯網  简体版  手機版  評論  字體: ||
 
  sprintf

  將字串格式化。

  語法: string sprintf(string format, mixed [args]...);

  傳回值: 字串

  函式種類: 資料處理

  內容說明

  本函式用來將字串格式化。參數 format 是轉換的格式,以百分比符號 % 開始到轉換字符爲止。而在轉換的格式間依序包括了

  1. 填空字元。0 的話表示空格填 0;空格是內定值,表示空格就放著。

  2. 對齊方式。內定值爲向右對齊,負號表向左對齊。

  3. 欄位寬度。爲最小寬度。

  4. 精確度。指在小數點後的浮點數位數。

  型態,見下表

  =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

  轉換字符

  =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

  % 印出百分比符號,不轉換。

  b 整數轉成二進位。

  c 整數轉成對應的 ASCII 字元。

  d 整數轉成十進位。

  f 倍精確度數字轉成浮點數。

  o 整數轉成八進位。

  s 整數轉成字串。

  x 整數轉成小寫十六進位。

  X 整數轉成大寫十六進位。

  =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

  =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

  例子

  =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

  使用範例

  <?

  $money1 = 68.75;

  $money2 = 54.35;

  $money = $money1 + $money2;

  // 此時變數 $money 值爲 "123.1";

  $formatted = sprintf ("%01.2f", $money);

  // 此時變數 $ formatted 值爲 "123.10"

  ?>

  =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

  這個 %01.2f 是什麽意思呢?

  首先 這個 % 符號是開始的意思,他寫在最前面表示指定格式要開始了。 也就是 "起始字符", 直到出現 "轉換字符" 爲止,就算格式終止。

  然後 跟在 % 符號 後面的是 0 這個零是 "填空字元" 表示,如果位置空著 就用0來填滿。

  在 0 後面的是 1 這個 1 是規定,小數點前面的數字占位要有1位以上。

  如果把 1 改成 2 如果 $money 的值爲 1.23 ,則 $formatted 的值將爲 01.23

  因爲,在小數點前面的數字只占了1位,按照上面所規定的格式,小數點前數字應該占2位,現在只有1位,所以,用0來填滿。

  到目前,在 %01 後面的 .2 (點2) 就很好理解了,它的意思是,規定,小數點後的數字,必需占2位. 如果這時候,$money 的值爲 1.234,則 $formatted 的值將爲 1.23。

  爲什麽 4 不見了呢? 因爲,在小數點後面 按照上面的規定,必需且僅能占2位。 可是 $money 的值中,小數點占了3位,所以,4 被去掉了,只剩下 23。

  最後,以 f "轉換字符" 結尾,其他轉換字符請自行參考上面的轉換字符列表。

  關于對齊

  如果在 % 起始符號後面 加上 - (負號) 則,將會把數字以向右對齊的方式進行處理。

  列子

  <?

  $money = 1.4;

  $formatted = sprintf ("%-02.2f", $money);

  echo $formatted;

  ?>

  這時候,$formatted 將不會再是 01.40 而是 1.400
 
sprintf 將字串格式化。 語法: string sprintf(string format, mixed [args]...); 傳回值: 字串 函式種類: 資料處理 內容說明 本函式用來將字串格式化。參數 format 是轉換的格式,以百分比符號 % 開始到轉換字符爲止。而在轉換的格式間依序包括了 1. 填空字元。0 的話表示空格填 0;空格是內定值,表示空格就放著。 2. 對齊方式。內定值爲向右對齊,負號表向左對齊。 3. 欄位寬度。爲最小寬度。 4. 精確度。指在小數點後的浮點數位數。 型態,見下表 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=- 轉換字符 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=- % 印出百分比符號,不轉換。 b 整數轉成二進位。 c 整數轉成對應的 ASCII 字元。 d 整數轉成十進位。 f 倍精確度數字轉成浮點數。 o 整數轉成八進位。 s 整數轉成字串。 x 整數轉成小寫十六進位。 X 整數轉成大寫十六進位。 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- 例子 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- 使用範例 <? $money1 = 68.75; $money2 = 54.35; $money = $money1 + $money2; // 此時變數 $money 值爲 "123.1"; $formatted = sprintf ("%01.2f", $money); // 此時變數 $ formatted 值爲 "123.10" ?> =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- 這個 %01.2f 是什麽意思呢? 首先 這個 % 符號是開始的意思,他寫在最前面表示指定格式要開始了。 也就是 "起始字符", 直到出現 "轉換字符" 爲止,就算格式終止。 然後 跟在 % 符號 後面的是 0 這個零是 "填空字元" 表示,如果位置空著 就用0來填滿。 在 0 後面的是 1 這個 1 是規定,小數點前面的數字占位要有1位以上。 如果把 1 改成 2 如果 $money 的值爲 1.23 ,則 $formatted 的值將爲 01.23 因爲,在小數點前面的數字只占了1位,按照上面所規定的格式,小數點前數字應該占2位,現在只有1位,所以,用0來填滿。 到目前,在 %01 後面的 .2 (點2) 就很好理解了,它的意思是,規定,小數點後的數字,必需占2位. 如果這時候,$money 的值爲 1.234,則 $formatted 的值將爲 1.23。 爲什麽 4 不見了呢? 因爲,在小數點後面 按照上面的規定,必需且僅能占2位。 可是 $money 的值中,小數點占了3位,所以,4 被去掉了,只剩下 23。 最後,以 f "轉換字符" 結尾,其他轉換字符請自行參考上面的轉換字符列表。 關于對齊 如果在 % 起始符號後面 加上 - (負號) 則,將會把數字以向右對齊的方式進行處理。 列子 <? $money = 1.4; $formatted = sprintf ("%-02.2f", $money); echo $formatted; ?> 這時候,$formatted 將不會再是 01.40 而是 1.400
󰈣󰈤
 
 
 
>>返回首頁<<
 
 
 
 
 熱帖排行
 
王朝網路微信公眾號
微信掃碼關註本站公眾號 wangchaonetcn
 
  免責聲明:本文僅代表作者個人觀點,與王朝網絡無關。王朝網絡登載此文出於傳遞更多信息之目的,並不意味著贊同其觀點或證實其描述,其原創性以及文中陳述文字和內容未經本站證實,對本文以及其中全部或者部分內容、文字的真實性、完整性、及時性本站不作任何保證或承諾,請讀者僅作參考,並請自行核實相關內容。
 
© 2005- 王朝網路 版權所有