Как получить bc для начала десятичных дробей с начальным нулем

Как получить bc для начала десятичных дробей с начальным нулем?

 $ bc <<< 'scale=4; 1/3' .3333 

Я хочу 0.3333.

  • BC не обрабатывает масштаб = 0 правильно
  • Работа с поплавком с bc?
  • Как избежать обертывания в выходе bc
  • Понять «ibase» и «obase» в случае конверсий с bc?
  • Как показать ноль до десятичной точки в bc?
  • как сделать bc, чтобы показать мне 10, а не 10.00
  • Ошибка синтаксиса, сравнивающая поплавки с bc
  • 2 Solutions collect form web for “Как получить bc для начала десятичных дробей с начальным нулем”

    bc изначально не поддерживают добавление нуля.

    Обход проблемы:

    эхо-масштаб = 4; 1/3 '| bc -l | awk '{printf "% .4f \ n", $ 0}'

    0,3333

    "\ n" – добавить новую строку.

    "% f" – с плавающей запятой

    «% .4f» – количество цифр, которое должно отображаться после десятичной точки. здесь 4.

    К сожалению, bc написан таким образом, что вы не можете. Это утверждение также относится к соседнему dc . Люди, как решение, обычно предлагают использовать какой-либо инструмент для обработки текста для изменения вывода bc или использовать совершенно другой инструмент, такой как perl или python который имеет другой синтаксис, но для меня они кажутся слишком тяжелыми для такой простой задачи.

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

     $ zcalc -e '1/3' 0.333333 

    Сначала вам нужно загрузить эту функцию (например, внутри .zshrc ), и, возможно, вы можете всегда обрабатывать все числа как плавающие точки с помощью опции -f :

     autoload -U zcalc alias zcalc='zcalc -f' 

    В качестве бонуса вы можете определить специальное приглашение для калькулятора с параметром ZCALCPROMPT , для получения дополнительной информации смотрите man zshcontrib .

    Linux и Unix - лучшая ОС в мире.