我需要计算bash脚本中2个数字之间的增加/减少百分比,之后需要2位小数。这些数字将包含许多小数(例如,684.0800000,683.7550000)。 我见过bc可以做到这一点,但我无法让它工作。亲切的问候
答案 0 :(得分:2)
$ echo 684.0800000 683.7550000 | awk '{printf "%.2f%\n", 100*($2/$1-1)}'
-0.05%
0.05%
从第一个减少到第二个,即-0.0475
四舍五入到两个小数点。
答案 1 :(得分:0)
使用bc scale
变量来确定精度
x=684.0800000
y=683.7550000
echo "scale=2; 100 * ($y - $x) / $x" | bc
-.04
答案 2 :(得分:0)
使用bc
并使用printf
格式化输出:
$ a=684.0800000
$ b=683.7550000
$ printf '%.2f\n' $(echo "100*$b/$a-100" | bc -l)
-0.05
具有更多可消化的值:
$ a=5
$ b=2
$ printf '%.2f\n' $(echo "100*$b/$a-100" | bc -l)
-60.00