小数点以下の計算

シェルで表題を行いたい。普段は`expr`で数値計算をさせることが多いのだが、整数しか扱えない。

■ 環境

  • Linux
  • Mac OSX El Capitan

■ bc

小数点以下を扱う場合には`bc`を使えば良い。もちろん整数だけでもOKなのであるが。

$ echo "1 / 3" | bc
0
$

上記では整数の結果しか得られない。小数点以下を得るには”scale“を指定する。下記は小数点以下3桁を取得したい場合である。

$ echo "scale=3; 1 / 3" | bc
.333
$
$ echo "scale=3; 1 / 2" | bc
.500
$

デフォルトでは”scale=0“のようだ。

`echo`で数式を渡す形であるが、`bc`コマンドを単体で実行すると下記のようになる。

$ bc
bc 1.06
Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.

1/3
0

scale=3
1/3
.333

1/4
.250

^D$

抜けるときは`Control-D`である。

以上。

■ 関連

exprで四則演算