ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)
Понедельник, 31 марта, 2025
Сегодня у нас 1 праздник:
Международный День Резервного Копирования (World Backup Day). Пользователи сайта социальных новостей reddit предложили сделать дату 31.03 Международным днём резервного копирования, аргументируя это тем, что никогда заранее нельзя узнать, какие сюрпризы преподнесёт 1.04

Как округлить до двух знаков после запятой в 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