在shell中计算
shell计算的几种方法
- 使用 - expr计算
sum=`expr a+b+c`- 使用 - let计算
let sum=a+b+c- 使用 - bc计算
echo "7+3*2" | bc- 整数计算 
sum=$((32+79))浮点数计算
bc 支持浮点数计算,但是我发现如果被除数是整数,则输出结果也是整数。对于 bc 可以使用 scale 定义精度
echo "scale=3; 1.55 * 1.55 " | bc -lscale参数指定小数点后的保留位数
bc显示小数点前的0
在使用 bc 做计算的时候,会发现如果小数点前面是0的时候会不显示,解决的方法可以采用
res1=$(printf "%.2f" `echo "scale=2;1/3"|bc`)
printf打印函数可以格式化输出小数点之前的0。
更为精确的方法是采用 awk
v1=$(echo 1 3 | awk '{ printf "%0.2f\n" ,$1/$2}')参考
Last updated
Was this helpful?