Более крупные шрифты «xterm» на дисплеях HIDPI

$ x=49.765
$ printf "%.2f" $(echo "$x + 0.005" | bc)

Вы должны использовать внешние команды, потому что в printf (1) нет встроенной функции округления, а оболочка POSIX не не имеют встроенной арифметики с плавающей запятой.

Чтобы округлить до ближайшей десятичной цифры, нужно прибавить 0,5 и выполнить усечение. Чтобы округлить до ближайшей десятой, нужно разделить «фактор подталкивания» на 10 и так далее.

Отсутствие встроенных средств часто подталкивает людей к использованию чего-то вроде Perl, а не оболочки:

$ perl -e 'printf "%.2f", 49.765 + 0.005'

То же самое, но все обрабатывается одним процессом.

16
13.04.2017, 15:36
0 ответов

Теги

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