bashで小数点以下の計算をする方法

こんにちは、minoruです。

Ubuntu(Xubuntu含む)などLinuxのコマンドで使われるBashでは、通常小数点以下の計算ができないため、小数点以下のある計算をする場合には以下のようなコマンドを使う。

echo "scale=2; 10/33" | bc | sed -e s/^\./0\./

まず、最初のecho "scale=2; 10/33"の部分で小数点以下2桁を表示するコマンドscaleを書き、続いて10割る33と表示する文字列を書いている。それをパイプでbcと言う計算コマンドに渡し、最初の0が表示されない仕様なので、sedを使って頭に0を付け足している。

計算結果を変数に入れたりする場合は、グレイブアクセント(Shift+@キー)で囲ってあげると良い。

a=`echo "scale=2; 10/33" | bc | sed -e "s/^\./0\./"`

シェアする

  • このエントリーをはてなブックマークに追加

フォローする