perl中sprintf函式的使用方法

2021-06-20 04:59:15 字數 2520 閱讀 4468

對於某些字串,需要輸入為特定的格式,通過sprintf可以很方便的完成,不需要專門進行其他處理。

perl中的sprintf的用法如下:

sprintf format, list

比如:$result = sprintf("%08d",$number);讓$number有8個前導零。

$rounded = sprintf("%.3f",$number);

讓小數點後有3位數字。

sprintf允許的如下常用的轉換:

%%         百分號

%c           把給定的數字轉化為字元

%s           字串

%d           

帶符號整數,十進位制

%u           無符號整數,十進位制

%o           無符號整數,八進位制

%x           無符號整數,十六進製制

%e           浮點數,科學計算法

%f            浮點數,用於固定十進位制計數

%g           浮點數,包括%e和%f

通過$1,$2等可以改變順序:

printf '%2$d %1$d', 12, 34;      # prints "34 12"

printf '%3$d %d %1$d', 1, 2, 3;  # prints "3 1 1"

printf '<% d>',  12;   # prints "< 12>"

printf '<%+d>',  12;   # prints "<+12>"

printf '<%6s>',  12;   # prints "<    12>"

printf '<%-6s>', 12;   # prints "<12    >"

printf '<%06s>', 12;   # prints "<000012>"

printf '<%#o>',  12;   # prints "<014>"

printf '<%#x>',  12;   # prints "<0xc>"

printf '<%#x>',  12;   # prints "<0xc>"

printf '<%#b>',  12;   # prints "<0b1100>"

printf '<%#b>',  12;   # prints "<0b1100>"

printf '<%f>', 1;    # prints "<1.000000>"

printf '<%.1f>', 1;  # prints "<1.0>"

printf '<%.0f>', 1;  # prints "<1>"

printf '<%e>', 10;   # prints "<1.000000e+01>"

printf '<%.1e>', 10; # prints "<1.0e+01>"

printf '<%.6d>', 1;      # prints "<000001>"

printf '<%+.6d>', 1;     # prints "<+000001>"

printf '<%-10.6d>', 1;   # prints "<000001    >"

printf '<%10.6d>', 1;    # prints "<    000001>"

printf '<%010.6d>', 1;   # prints "<    000001>"

printf '<%+10.6d>', 1;   # prints "<   +000001>"

printf '<%.6x>', 1;      # prints "<000001>"

printf '<%#.6x>', 1;     # prints "<0x000001>"

printf '<%-10.6x>', 1;   # prints "<000001    >"

printf '<%10.6x>', 1;    # prints "<    000001>"

printf '<%010.6x>', 1;   # prints "<    000001>"

printf '<%#10.6x>', 1;   # prints "<  0x000001>"

printf '<%.5s>', "truncated";   # prints ""

printf '<%10.5s>', "truncated"; # prints "<     trunc>"

printf "%2/$d %d/n",    12, 34;               # will print "34

"printf "%2/$d %d %d/n", 12, 34;               # will print "34

4/n"

printf "%3/$d %d %d/n", 12, 34, 56;           # will print "56

4/n"

printf "%2/$*3/$d %d/n", 12, 34, 3;           # will print " 3

n"**: 

C 中sprintf 函式應用

c 中sprintf 函式應用 在將各種型別的資料構造成字串時,雖然現在c 的字串可以實現字元轉換 to string 和連線 但是利用sprintf 的強大功能可以事辦功倍。sprintf在合理指定引數後,它能將你需要的內容一次性列印到指定的字串中,從而被大量應用。1.函式原型 sprintf 是...

sprintf 函式的用法

最近在做畢業設計,裡面需要把圖形的座標轉換為字元來檢驗圖形座標的正確與否。所以較多的用到了sprintf 函式。例如 int sign 100 char s1 10 sprintf s1,d sign pdc textout 0,0,s1 這裡就把sprintf 函式的用法總結一下。int spri...

sprintf函式的用法

sprintf 格式化輸出函式 圖形 功能 函式sprintf 用來作格式化的輸出。用法 此函式呼叫方式為int sprintf char string,char format,arg list 說 明 函式sprintf 的用法和printf 函式一樣,只是sprintf 函式給出第乙個引數str...