Как ограничить десятичные разряды в awk без закругления

Я хочу распечатать 0.74 для 0,748.

Если я использую

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

для 0,748 это печатает 0.75. Но я хочу 0.74 и удаляю остающуюся часть. Для 77,348 это должно быть 77.34.

Какие-либо идеи?

Существует нет

gawk -M

опция использовать ROUNDMODE = "Z"??

Даже я не мог найти потолок и функции пола также.

2
задан 15 July 2015 в 18:40

1 ответ

Используя awk

  • с print

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

или

  • с printf

    awk -F. '{printf "%0.2f\n",$1"."substr($2,1,2)}' filename
    
<час>

Пример

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

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

$ cat foo
0.748
77.657
1
ответ дан 2 December 2019 в 05:03

Другие вопросы по тегам:

Похожие вопросы: