在 linux 下,要用 shell 做浮点运算,可以使用 bc 命令来实现:
echo "2.0+3.56" | bc
5.56
加法、减法和乘法的运算不需要添加参数。
echo "4.0+3.5645648" | bc
7.5645648
除法运算,需要使用 scale 参数控制保留的小数点位数:
echo "scale=5;4.0/2.5645648" | bc
1.55971
另外还有一个问题,计算的结果,整数位为零的时候,不会在小数点前显示 0:
echo "scale=1;2.0/3.56" | bc
.5
可以用格式化输出来解决这个问题:
printf "%.1f\n" "$(echo"scale=1;2.0/3.56" | bc)"
0.5
bc 命令其他参数:
1.ibase 指定输入的进制
2.obase 指定输出的进制
3.scale 指定输出的小数点保留位数
示例:
echo "ibase=10;obase=2; 2"|bc
10
更多 bc 命令使用可以使用 man bc 查看。