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