99.11111
我正在尝试按099.11
中的方式打印AWK
。
我尝试了以下变体但没有成功。
$ awk '{printf ("%000.2f\n", $1);}' <<< 99.111111
99.11
$ awk '{printf ("%3.2f\n", $1);}' <<< 99.111111
99.11
$ awk '{printf ("%03.2f\n", $1);}' <<< 99.111111
99.11
答案1
使用任何 awk:
$ awk '{printf("%06.2f\n", $1)}' <<< 99.111111
099.11
填充长度考虑了整个格式化数字,因此,由于小数部分占用 3 个字符(.
以及2
精度数字),如果您希望将整数部分填充到长度 3,则需要将填充长度设置为 6。填充还考虑了符号(如果有的话),-1
例如将被格式化为-01.00
¹
¹ 或可能-01,00
或-01٫00
取决于用户的区域设置和awk
实现²。对于 GNU 来说awk
,它还取决于POSIXLY_CORRECT
环境中是否有变量。