- ベストアンサー
[linux]bcコマンドについて
linuxでシェルスクリプトを作っています.その際,実数の計算をやる必要があって,bcコマンドを使ってやろうとしていますが有効数字の指定(length)の指定の仕方が分かりません. したい計算は,以下のようなものです.(有効数字3桁で計算させたいのですが,.22222と表示され整数部の0が表示されません.) yByD=` echo "length = 3; 2 * 3 / 27 " | bc` ネットやマニュアル等を見ても情報が得られません.誰かご存知の方ご教示よろしくお願いします.
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
bashは数値の扱いがちょっと変わっていて、随分混乱した事があります。(bcも一般的なプログラムとは少し変わっているようですね) 差し当たり、 yByD=` echo "scale = 3; 2 * 3 / 27 " | bc | sed -e "s/^\./0/"` とすることで、ご希望の表示になるのではないでしょうか。 LinuxならPerl,PHP,Python辺りに切り替えた方がラクかもしれません。 私が分かるのはPerlだけですが、こんなカンジです。 #!/usr/bin/perl use strict; use warnings; my $keisan = 2 * 3 / 27; my $anser = sprintf("%.3f",$keisan); print "$anser\n";
お礼
早々の回答ありがとうございます. yByD=` echo "scale = 3; 2 * 3 / 27 " | bc | sed -e "s/^\./0./"` で試したところ思う様に行きました. 置換をすればいいのですね,勉強になりました.perlは使ったことがないのでまた勉強したいと思います. 回答ありがとうございました.