Como restringir as casas decimais no awk sem arredondar

1

Eu quero imprimir 0,74 para 0,748.

Se eu usar

awk '{printf "%0.2f\n",}' filename

para 0,748, imprime 0,75. Mas eu quero 0,74 e remover a parte restante. Para 77.348, deve ser 77,34.

Alguma idéia?

Não há

gawk -M

opção para usar ROUNDMODE="Z" ??

Mesmo eu não encontrei as funções de teto e chão também.

    
por Ramana Reddy 13.07.2015 / 10:56

1 resposta

1

Usando awk

  • com print

    awk -F. '{print "."substr(,1,2)}' filename
    

ou

  • com printf

    awk -F. '{printf "%0.2f\n","."substr(,1,2)}' filename
    

Exemplo

$ awk -F. '{print "."substr(,1,2)}' foo
0.74
77.65

$ awk -F. '{printf "%0.2f\n","."substr(,1,2)}' foo
0.74
77.65

$ cat foo
0.748
77.657
    
por A.B. 15.07.2015 / 18:17