printf 命令的语法:
printf format-string [arguments...]
参数说
format-string: 一个格式字符串,它包含普通文本和格式说明符。
arguments: 用于填充格式说明符的参数列表。。
格式说明符由 % 字符开始,后跟一个或多个字符,用于指定输出的格式。常用的格式说明符包括:- %s:字符串
- %d:十进制整数
- %f:浮点数
- %c:字符
- %x:十六进制数
- %o:八进制数
- %b:二进制数
- %e:科学计数法表示的浮点数
案例
保留2位小数
price=36
# %s 的缺点,不能保留2位小数
printf "价格:%s \n" $price
# %f 的缺点,小数太多
printf "价格:%f \n" $price
# .2的作用,保留2位小数,如果是整数,后面会填上.00
printf "价格:%.2f \n" $price
左侧补空格
printf "价格:%6.2f \n" $price
执行结果:
价格: 36.00
解释:
.2:表示保留2位小数,即:36.00 (注意是5位, “.”占1位)6:表示,不足6位,要在左侧补空格,即:36.00是5位,所以要补1个空格,才算6位
右侧补空格
price=36
printf "价格:%-7.2f元 \n" $price
执行结果:
价格:36.00 元
解释:
.2:表示保留2位小数,即:36.00 (注意是5位, “.”占1位)7:表示,不足7位,要补空格,即:36.00是5位,所以要补2个空格,才算7位-:表示在右侧补空格