在shell编程中,用到一些计算时,使用除法,基本默认上都是整除。
例如,下面的例子:
#!/bin/bash
#edit by www.jb200.com
num1=2
num2=3
num3=`expr $num1 / $num2`
echo $num3
输出结果,如下图:
此时num3=0,为什么呢?是因为expr不支持浮点除法。
这里给出一个解决的方法:
使用bc工具,sclae控制小数点后保留几位。
另一种方法:
#!/bin/bash
#edit by www.jb200.com
num1=2
num2=3
linuxjishu/13830.html target=_blank class=infotextkey>awk 'BEGIN{printf "%.2fn",'$num1'/'$num2'}'
#百分比表示
awk 'BEGIN{printf "%.2f%n",('$num1'/'$num2')*100}'
输出结果,如下图: