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