小数点以下の桁数の前にゼロを追加してください。

小数点以下の桁数の前にゼロを追加してください。

そのため、コーディング時に0.12の代わりに0.12を印刷するように出力を取得しようとしています。以下は私のコードです

echo -n "What is the total cost? ";
read cents
cost=$(echo "scale =2;$cost_in_cents/100" | bc);
percent=$(echo "scale =2;$percent / 100" | bc);
tip=$(echo "scale =2;$cost*$percent" | bc);
overall_cost=$(echo "scale =2;$cost+$tip" | bc);
average_cost=$(echo "scale =2;$overall_cost/${#GUESTS[@]}" | bc);

出力は再び0.12という正しい出力を提供しますが、小数点の前に0を追加する必要があります。よろしくお願いします!

答え1

value=$(printf "%3.2f\n" $(echo "scale=2; 12 / 100" | bc))

答え2

このような:

$ a=$(echo "0.1 + 0.1" | bc) && echo "$a"
.2
$ a=$(printf '0%s\n' "$a") && echo $a
0.2

選択する:

$ echo "0.1 0.1" | awk '{printf "%.2f\n", $1 + $2}'
0.20

答え3

Bashにはprintfがあります。printf '%.2f' $cents小数点以下の2桁までの印刷丸めなどの操作を実行できます。変数に割り当てるには、構造を使用-vまたは使用します。$()

関連情報