printf格式输出数字,位数不够前面补0,适用与输出编号 printf格式输出:%[flags][width][.perc][F|N|h|l]type 用到了flags中的 0 (注意是零不是欧) ,其百科描述为:将输出的前面补上0,直到占满指定列宽为止(不可以搭配使用-) width 即表示需要输出的位数. int a = 4; printf("%03d",a); 输出:004 也可以用 * 代替位数,在后面的参数列表中用变量控制输出位数: int a = 4; int n = 3
1.类型 类型字符用以表示输出数据的类型,其格式符和意义如下表所示: 格式字符 意义 d 以十进制形式输出带符号整数(正数不输出符号) o 以八进制形式输出无符号整数(不输出前缀0) x,X 以十六进制形式输出无符号整数(不输出前缀Ox) u 以十进制形式输出无符号整数 f 以小数形式输出单.双精度实数 e,E 以指数形式输出单.双精度实数 g,G 以%f或%e中较短的输出宽度输出单.双精度实数 c 输出单个字符 s 输出字符串 2.标志 标志字符为 -.+.# 和空格四种,其意义下表所示: 标
printf使用文本或者由空格分隔的参数,我们可以在printf中使用格式化字符串.printf不会写像echo那样自动添加换行符,必须手动添加 ========================================= 代码区域 ========================================= #!/bin/bash #文件名:printf.sh printf "%-5s %-10s %-4s\n" no Name Mark printf "%-5
i,d 十进制整数 x,X 十六进制无符号整数 o 八进制无符号整数 u 无符号十进制整数 c 单一字符 s 字符串 e E 指数形式浮点小数 f 小数形式浮点小数 g e,f中较短一种 %% 百分号本身 --------------------------------------- m 输出数据域宽,数据长度<m ,左补空格:否则按实际输出 .n 对实数,指定小数点后位数(四舍五入) 对字符串