shellscriptで小数演算をしたかったのでメモ。
小数演算
###echo
とbc
を利用
expr
コマンドなどは小数演算できないので、
echo
コマンドで数式を作成し、それをbc
コマンドに渡して計算する。
RESULT=`echo "scale=5; 10.0 / 3.0" | bc`
echo $RESULT
#=> 3.33333
小数点以下の桁数をscale
にて指定する。
指定桁数出力
演算の精度を保つため、上記のように計算は小数点以下5桁で行うけれど、表示は小数点以下2桁とかにしたい場合
(というか、桁数を指定したい場合)
RESULT=`echo "scale=5; 10.0 / 3.0" | bc`
printf "%.2f" $RESULT
#=> 3.33
printf
で桁数を指定。