49.765は一連のコマンドの出力です。 print fを使って小数点以下の2桁から49.77に丸めたいと思います。
コードは何ですか?
ベストアンサー1
$ x=49.765
$ printf "%.2f" $(echo "$x + 0.005" | bc)
printf(1)
には丸め機能が組み込まれておらず、POSIXシェルには浮動小数点演算が組み込まれていないため、外部コマンドを使用する必要があります。
最も近い小数点以下の桁数に丸めるには、0.5 を加算して切り捨てます。最寄りの10分の1桁に丸めるには、Nudge Factorを10で割ります。
組み込みの機能が不足しているため、人々がシェルの代わりにPerlのようなものを使用することがよくあります。
$ perl -e 'printf "%.2f", 49.765 + 0.005'
同じですが、すべて1つのプロセスとして扱われます。