Я использую bc
для простого расчета процента.Я пытаюсь распечатать процент в целочисленном формате, например:
Степень сжатия: 72%
Вот что я делаю:
echo "Compression ratio: $(bc <<< "scale=2; $output_size / $input_size * 100")%";
, который производит следующий вывод:
Степень сжатия: 72,00%
Я знаю причину проблемы, которая была scale=2
.Изменение его на scale=0
приводит к тому, что $output_size / $input_size
, что составляет 0,72, округляется до 0, а затем умножается на 100, что приводит к нежелательному выводу.
Я пробовал это, но они не работали:
echo "Compression ratio: $(bc <<< "scale=2; $output_size / $input_size" * 100)%";
echo "Compression ratio: $((bc <<< "scale=2; $output_size / $input_size" * 100))%";
Как правильно поставить * 100
вне bc
?