Ограничение десятичных цифр в инструменте командной строки bc

Убунту 18

Инструмент командной строки bc — это мощная утилита для выполнения арифметических операций в Unix-подобных операционных системах. Одним из распространенных требований при использовании bc является ограничение количества десятичных знаков в выводе. Эта статья предоставит подробное руководство о том, как этого добиться.

Инструмент командной строки bc позволяет ограничить количество десятичных цифр в выводе с помощью переменной масштаба. Установив масштаб как положительное целое число, вы можете указать желаемое количество десятичных знаков. Кроме того, вы можете выполнить округление, добавив небольшое значение к результату перед его усечением.

Понимание инструмента командной строки bc

Инструмент bc — это язык калькулятора произвольной точности, который может обрабатывать как числовые, так и строковые значения. Он поддерживает стандартные арифметические операции, операции сравнения, логические операции и многое другое.

Масштабная переменная в bc

Инструмент bc использует специальную переменную, называемую масштабом, для определения количества цифр после десятичной точки. По умолчанию масштаб установлен на 0, что означает, что bc не будет отображать десятичные знаки, если это явно не указано.

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

эхо “масштаб=2; 100/3” | До нашей эры

В этой команде масштаб=2 устанавливает количество десятичных знаков равным 2, а операцию, которую необходимо выполнить, — 100/3. Результат будет 33,33.

Точность и округление в bc

Хотя масштаб может контролировать количество десятичных знаков, важно отметить, что он усекает результат, а не округляет его. Если вы хотите округлить результат до ближайшего десятичного знака, вы можете добавить к результату небольшое значение перед его усечением. Например:

echo “a=12/104; масштаб=2; (a+0,005)/1” | до н.э. -л

В этой команде a=12/104 выполняет операцию и присваивает результат переменной a. Scale=2 устанавливает количество десятичных знаков равным 2, а (a+0,005)/1 добавляет 0,005 к a, а затем делит на 1, чтобы усечь результат. Выход будет 0,12.

Ограничение десятичных знаков при умножении

При выполнении умножения вы также можете ограничить количество десятичных знаков, используя манипуляции со строками или деля на 1. Например:

S=$(echo “32*.60” | bc ) ; эхо ${S%.*}

В этой команде 32*.60 выполняет умножение и присваивает результат переменной S. ${S%.*} удаляет десятичную часть S, фактически усекая результат до целого числа. Результат будет 19.

Альтернативно вы можете использовать масштаб при умножении, разделив результат на 1. Например:

эхо “масштаб=0; 32*60/100” | До нашей эры

В этой команде масштаб=0 устанавливает количество десятичных знаков равным 0, а 32*60/100 выполняет умножение, а затем делит на 100, чтобы усечь результат. Результат будет 19.

Заключение

Инструмент командной строки bc предоставляет гибкий способ управления количеством десятичных знаков в результатах арифметических операций. Используя переменную масштаба и дополнительные операции, вы можете ограничить количество десятичных знаков любым желаемым значением. Независимо от того, выполняете ли вы деление или умножение, bc с легкостью справится с этим.

Вы можете установить переменную масштаба на желаемое количество десятичных знаков, используя команду Scale=<число>;. Например, масштаб=2; ограничит вывод двумя десятичными знаками.

Да, масштаб влияет на все арифметические операции в bc, если не указано иное. Он определяет количество десятичных знаков для всего сеанса, если оно не изменено.

bc по умолчанию усекает результат. Чтобы округлить результат до ближайшего десятичного знака, вы можете добавить к результату небольшое значение перед его усечением. Например, (a+0,005)/1 округляет результат a до ближайшего десятичного знака.

Да, вы можете ограничить десятичные знаки при умножении, используя bc. Вы можете либо использовать манипуляции со строками, чтобы удалить десятичную часть результата, либо разделить результат на 1 после установки масштаба на 0.

Да, bc может обрабатывать как числовые, так и строковые значения. Это язык калькулятора произвольной точности, который поддерживает широкий спектр операций с обоими типами значений.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *