ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как округлить до двух знаков после запятой в Bash

Bash Heredoc

Bash – это хорошо известная оболочка и командный язык, используемый для эффективного выполнения задач. Во время работы в сценариях Bash и явной игры с плавающими числами часто бывает необходимо округлить плавающие числа. В этом посте мы изучим несколько команд и приемов сценариев Bash для округления числа до двух знаков после запятой.

При отображении чисел или переменных, содержащих числа с плавающей запятой, различные команды могут печатать текст или переменные, такие как echo, print и printf. Хотя мы можем отображать переменные и числа непосредственно из таких команд, тем не менее, единственная команда, которая имеет некоторые дополнительные функции и возможности, – это команда printf, которая касается нашей цели.

 

Команда printf

Команда printf аналогична функции printf() в языке C. Это позволяет нам форматировать и распечатывать аргументы.

 

Синтаксис

Синтаксис для написания команды printf в bash:

printf "string" arguments

 

В команде printf мы сначала должны указать строку в кавычках, а затем передать ей аргументы.

 

Пример

Давайте сначала напечатаем простой текст с помощью команды printf:

printf "Привет от AndreyEx."

 

Вы можете видеть, что он только что распечатал строку, но имя пользователя и имя хоста идут сразу после строки.

Чтобы получить строку в одной строке, мы можем использовать символ новой строки ‘\n’, чтобы получить чистый и понятный вывод:

printf "Привет от AndreyEx \n"

 

Теперь у нас есть чистый и понятный результат.

Теперь давайте посмотрим, как предоставить аргументы, чтобы дать этой команде printf число с плавающей запятой и округлить его.

Чтобы предоставить аргументы, нам нужно использовать спецификатор (%s) в строке, который будет заменен предоставленными аргументами. Например:

printf "Номер пользователя: %s \n" 24

 

Хорошо, теперь вы поняли основное использование и функциональность команды printf. Давайте предоставим ему число с плавающей запятой и посмотрим, как округлить до двух знаков после запятой.

 

Директива о точности

Модификатор точности используется для округления числа с плавающей запятой.

Синтаксис для написания модификатора точности состоит в том, чтобы указать количество десятичных знаков, которое вы хотите округлить, число, за которым следует точка (.).

"%.2f"

Чтобы округлить число с плавающей запятой до двух знаков после запятой, вы можете выполнить команду printf, как показано ниже:

printf "%.2f \n" 4.4444

На прилагаемом скриншоте видно, что число «4,4444» округлено до «4,44», как мы и хотели.

Точно так же, вместо того, чтобы напрямую указывать ему номер, мы также можем указать здесь переменную.

num=4.4444

printf "%.2f \n" $num

Чтобы указать несколько значений:

num1=3.333

num2=4.4444

printf "%.2f %.3f \n" $num1 $num2

 

Если вы все еще хотите использовать команду echo и округлить число, в этом случае вы должны использовать команду echo с командой awk для округления числа, как показано ниже:

echo "3.333" | awk '{printf("%.2f \n",$1)}'

 

или же

num=3.333

echo num | awk '{printf("%.2f \n",$1)}'

Заключение

Этот пост содержит подробное и подробное руководство по команде printf, и мы научились округлять любое число до 2 десятичных знаков с помощью команды printf. Кроме того, мы попробовали несколько примеров, чтобы получить хорошие знания о том, как использовать модификатор точности для округления числа с помощью команды printf. Более того, мы научились округлять любое число с плавающей запятой с помощью команд echo и awk.

Exit mobile version