天天看點

【一通百通】c/php的printf總結

  程式語言都是觸類旁通的,講人話就是【一通百通】。so今天說說工作中常用的printf的用法吧。

1.先說說PHP printf()函數:

printf()函數的調用格式為: 

printf("<格式化字元串>", <參量表>);

%d 十進制有符号整數 

%u 十進制無符号整數 

%f 浮點數 

%s 字元串 

%c 單個字元 

%p 指針的值 

%e 指數形式的浮點數 

%x, %X 無符号以十六進制表示的整數 

%o 無符号以八進制表示的整數 

%g 自動選擇合适的表示法

說明:

(1). 可以在"%"和字母之間插進數字表示最大場寬。

 ①例如: %3d 表示輸出3位整型數, 不夠3位右對齊。

 ②%9.2f 表示輸出場寬為9的浮點數, 其中小數位為2, 整數位為6, 小數點占一位, 不夠9位右對齊。

 ③%8s 表示輸出8個字元的字元串, 不夠8個字元右對齊。

 ④如果字元串的長度、或整型數位數超過說明的場寬, 将按其實際長度輸出。

 ⑤浮點數, 若整數部分位數超過了說明的整數位寬度, 将按實際整數位輸出;

 ⑥小數部分位數超過了說明的小數位寬度, 則按說明的寬度以四舍五入輸出。

 ⑦若想在輸出值前加一些0, 就應在場寬項前加個0。

   例如: %04d 表示在輸出一個小于4位的數值時, 将在前面補0使其總寬度為4位。

  ⑧如果用浮點數表示字元或整型量的輸出格式, 小數點後的數字代表最大寬度, 小數點前的數字代表最小寬度。

   例如: %6.9s 表示顯示一個長度不小于6且不大于9的字元串。若大于9, 則第9個字元以後的内容将被删除。

(2). 可以在"%"和字母之間加小寫字母l, 表示輸出的是長型數。

   ①例如: %ld 表示輸出long整數

   ②%lf 表示輸出double浮點數

(3). 可以控制輸出左對齊或右對齊, 即在"%"和字母之間加入一個"-" 号可說明輸出為左對齊, 否則為右對齊。

  ①例如: %-7d 表示輸出7位整數左對齊

  ②%-10s 表示輸出10個字元左對齊

(4). 一些特殊規定字元

    ①/n 換行 

  ②/f 清屏并換頁 

  ③/r 回車 

  ④/t Tab符 

  ⑤/xhh 表示一個ASCII碼用16進表示, 

  ⑥其中hh是1到2個16進制數

2. C語言的printf

1) 類型

類型字元用以表示輸出資料的類型,其格式符和意義如下表所示:

格式字元 意義
d 以十進制形式輸出帶符号整數(正數不輸出符号)
o 以八進制形式輸出無符号整數(不輸出字首0)
x,X 以十六進制形式輸出無符号整數(不輸出字首Ox)
u 以十進制形式輸出無符号整數
f 以小數形式輸出單、雙精度實數
e,E 以指數形式輸出單、雙精度實數
g,G 以%f或%e中較短的輸出寬度輸出單、雙精度實數
c 輸出單個字元
s 輸出字元串

2) 标志

标志字元為 -、+、# 和空格四種,其意義下表所示:

标 志
- 結果左對齊,右邊填空格
+ 輸出符号(正号或負号)
空格 輸出值為正時冠以空格,為負時冠以負号
#

對c、s、d、u類無影響;

對o類,在輸出時加字首o;

對x類,在輸出時加字首0x;

對e、g、f 類當結果有小數時才給出小數點。

3) 輸出最小寬度

用十進制整數來表示輸出的最少位數。若實際位數多于定義的寬度,則按實際位數輸出,若實際位數少于定義的寬度則補以空格或0。

4) 精度

精度格式符以“.”開頭,後跟十進制整數。本項的意義是:如果輸出數字,則表示小數的位數;如果輸出的是字元,則表示輸出字元的個數;若實際位數大于所定義的精度數,則截去超過的部分。

5) 長度

長度格式符為h、l兩種,h表示按短整型量輸出,l表示按長整型量輸出。

  這些雖然有點枯燥,但是工作中,真TMD很實用哦~~

謀膽并重