printf函數可以格式化輸出字符串
用法:
printf FILEHANDLE FORMAT, LIST
printf FORMAT, LIST
使用printf格式化輸出
printf 函數有一個模板,叫格式字符串,它可以規定輸出的格式,每個格式符有百分號開頭,由字母結束。
格式化字符串中有3個格式符,則對應3個元素
格式 | 作用 |
---|---|
%g | 輸出數字,它將根據需要自動選用浮點數,整數或者指數 |
%d | 十進制整數,它會捨去小數點之後的數字。非四捨五入 |
%x | 十六進制 |
%o | 八進制 根據需要截尾 |
%s | 字符串格式,可以設定字段寬度。寬度字段如果是正數代表向右對齊,負數是相左對齊如%10s, %-15s |
%f | 針對數字的,轉換格式(浮點數),會按需求四捨五入。如%12.3f (表示輸出共12個字符,包括小數點,並且小數點後面只有3位數) |
%% | 輸出百分號,不會使用後面列表中的元素 |
例子
printf "%g %g %g\n", 5/2, 51/17, 51 ** 17; #2.5 3 1.0683e+29
printf "in %d days!\n", 17.85; #in 17 days!
printf "%6d\n",42 #從輸出結果看起來像````42(符號`代表空格)
printf "%2d\n", 2e3 + 1.95; #2001
printf "%10s\n", "wilma"; #看起來像`````wilma
printf "%-15s\n", "flintstone"; #看起來像flintstone`````
printf "12f\n", 6*7 + 2/3; # ```42.66667
printf "12.3f\n", 6*7 + 2/3; # ``````42.667
printf "12.0f\n", 6*7 + 2/3; # ``````````43