shell脚本中浮点数运算


最近写了个shell脚本,查看运算结果时发现,结果值没有小数点。

怎么回事?

原来shell中的运算都是整数运算。那怎么把小数点搞出来,用这个方法:

[root@xxx]$ echo "scale=2;  10/3" | bc
3.33

这里scale=2,表示小数点后取2位,如果不加scale,默认为0,不要小数点:

[root@xxx]$ echo "10/3" | bc          
3

这里|bc是为了完成运算的,和expr的意思有点像,如果不加|bc,就是直接打印:

[root@shpbs01-krds-sh000088.shpbs01.ksyun.com /home/liurong]$ echo "scale=2;  10/3"
scale=2;  10/3

在脚本里,可以把上述运算结果放在变量中:

[root@xxx]$ export c=$(echo "scale=2;  10/3" | bc)
[root@xxx]$ echo $c
3.33

 

好了到此为止,就知道shell就可以完成浮点运算了

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM