知識の箱

主に気象を研究する上で得た知識と、WEBページ作成のために得た知識を記録しています。

bashでawkを利用して小数点を含む四則演算

整数の場合は、

a=1

a=$((a+1))

a=$(( (a+1)*5 ))

という形でできるが、

少数が入ると、この方法ではエラーが出る。

そこで、awkを使用して強引に計算するほう方がある.

b=150.5/2.35をしたいとき、

a=150.5

b=`echo ${a} |awk ‘{print $1/2.35}’`

これで、b=150.5/2.35をしたことになる。

なお、桁数を制限したい場合は、

a=150.5

b=`echo ${a} |awk ‘{printf (“%4.2f”, $1/2.35)}’`

とする。

%4.2fで右側が少数の桁数

例えば、

“%4.0f”の場合,b=150.5/2.35=64
“%4.1f”の場合,b=150.5/2.35=64.0
“%4.2f”の場合,b=150.5*2.35=64.04
“%4.3f”の場合,b=150.5*2.35=64.043
“%4.4f”の場合,b=150.5*2.35=64.0426

となる。