#! /bin/sh
a1=260
a2=9150
echo "$a1 * 100 / $a2" | bc
出力は
2
どこにあるべきか
2.8415
を使用しているのに精度が失われるのはなぜbc
ですか?
これを試してください (再利用は簡単です。数学式の先頭に を付けることを覚えておくだけですscale=N
):
$ echo "scale=10; $a1 * 100 / $a2" | bc
2.8415300546
ご覧のとおり、目盛りの長さを自由に指定できます。
見る
man bc | less +/^' *scale \(\s*exp
awk を使用すると、算術演算を改善できます。
awk -v a1=260 -v a2=9150 'BEGIN{printf("%.4f\n", (a1 * 100 / a2))}'
出力: 2.8415