bcで小数の比較をおこなう

[コマンドは整数同士しか比較しないので小数点を含む数があらわれるとたちまち「integer expression expected」というエラーに見舞われる。そうすると小数の比較を[コマンドでも可能にする工夫を凝らすか別の方法を模索しなければならない。暇を掛けずにやるならbcがよさそうである。bcにパイプで不等式を渡してやると関係を満たさないものは0、満たすものは1を返してくる。

$ echo '1.99 == 2.00' | bc
0
$ echo '2.00 != 2.00' | bc
0
$ echo '1.99 > 2.00' | bc
0
$ echo '1.99 >= 2.00' | bc
0

$ echo '2.00 == 2.00' | bc
1
$ echo '1.99 != 2.00' | bc
1
$ echo '1.99 < 2.00' | bc
1
$ echo '1.99 <= 2.00' | bc
1

なおbcはbasic calculator或いはbench calculatorの略のようであるけれどもはっきりした出典は探し当てられなかった。

参考:
bc (programming language)

Similar Posts:

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください