Поиск по сайту:

Усилия на ложном пути множат заблуждения (Ф. Бэкон).

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

2 мин для чтения
FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
7 июня 2021
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. Давайте предоставим ему число с плавающей запятой и посмотрим, как округлить до двух знаков после запятой.

 

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

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

Читать  Преимущества VPS-серверов NVMe

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

"%.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.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Поделиться в соц. сетях:
5 1 голос
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии

Читайте также

0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x
()
x

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close