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