shell中使用除法进行计算

losetowin 发布于:2014-8-20 19:09 分类:linux  有 11095 人浏览,获得评论 76 条 标签: shell 除法 

本文地址:http://www.dutycode.com/shell_chufa_baoliu_xiaoshu.html
除非注明,文章均为 www.dutycode.com 原创,欢迎转载!转载请注明本文地址,谢谢。

shell计算中使用除法,基本默认上都是整除。

比如:

num1=2

num2=3

num3=`expr $num1 / $num2`

这个时候num3=0 ,是因为是因为expr不支持浮点除法

解决的方法:

num3=`echo "sclae=2; $num1/$num2" | bc`

使用bc工具,sclae控制小数点后保留几位

还有一种方法

awk 'BEGIN{printf "%.2f\n",’$num1‘/’$num2‘}'

如果用百分比表示

awk 'BEGIN{printf "%.2f%\n",(’$num1‘/’$num2‘)*100}'


文章为转载,最后awk的方式以验证,其余两种方式未验证。


版权所有:《攀爬蜗牛》 => 《shell中使用除法进行计算
本文地址:https://www.dutycode.com/shell_chufa_baoliu_xiaoshu.html
除非注明,文章均为 《攀爬蜗牛》 原创,欢迎转载!转载请注明本文地址,谢谢。