Estou tentando imprimir 99.11111
como 099.11
em AWK
.
Eu tentei as seguintes variações sem sucesso.
$ 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
Usando qualquer awk:
O comprimento de preenchimento leva em conta o número inteiro formatado, portanto, com a parte fracionária ocupando 3 caracteres (
.
e os2
dígitos de precisão), você precisa de um comprimento de preenchimento de 6 se quiser que a parte integral seja preenchida com um comprimento de 3. Nota que o preenchimento também leva em consideração o sinal, se houver,-1
por exemplo, seria formatado como-01.00
¹¹ ou possivelmente
-01,00
ou-01٫00
dependendo da localidade do usuário e daawk
implementação². No caso do GNUawk
, também depende se existe umaPOSIXLY_CORRECT
variável no ambiente ou não.