なぜかplacentiaのbashでは:
「seq 2.7 0.03 3.3」の答えが…
2.7
2.73
2.76
2.79
2.82
2.85
2.88
2.91
2.94
2.97
3
3.03
3.06
3.09
3.12
3.15
3.18
3.21
3.24
3.27
…となる。最後の数字(3.3)が抜けているのである。これを自分のmacbook airでやると問題なく計算される。
placentiaの人にbashのバージョンアップをしてくれと問い合わせてみたがそこが問題ではないと言われ、小数点を使わない方法を勧められたが自分が求めているものは見つからず。
結局、今日考えついたのが、seqをループで出したい数字の合計(上記の場合だと21)として使いそのループ内で足し算しながら各ステップで上記の数字を求めていくことにする:
for it in `seq 0 20`; do echo "scale=2;$number+3/100*$it" | bc; done
2.70
2.73
2.76
2.79
2.82
2.85
2.88
2.91
2.94
2.97
3.00
3.03
3.06
3.09
3.12
3.15
3.18
3.21
3.24
3.27
3.30
これで3.30までちゃんと求められるようになった。
0 件のコメント:
コメントを投稿