本文將介紹幾種linux下通過shell指令碼進行浮點數計算的方法。
bash shell本身不具備處理浮點計算的能力, 如expr
命令只支援整數運算 :
#!/bin/bash
a=59
b=60
expr $a / $b
執行結果 :
$ ./cal.sh
0$
使用bc
進行處理。
** :
#!/bin/bash
a=59
b=60
echo
"scale=4; $a / $b" | bc
執行結果 :
$ ./bc.sh
.9833
$
scale
表示結果的小數精度。
使用awk
進行處理。
** :
#!/bin/bash
a=59
b=60
awk 'begin'
執行結果 :
$ ./awk.sh
0.98
$
使用bc :
使用awk :
可以看出使用awk
的效率更高,特別是運算次數比較大時。
- github:answerywj
- blog:
- email:[email protected]
- weibo:@answer不是答案
- csdn:answer不是答案的專欄
本作品採用知識共享署名-相同方式共享 4.0 國際許可協議進行許可。
shell指令碼中浮點數運算
a 1 b 2result printf 2f echo scale 2 a b bc echo result 輸出結果 0.50參考 shell指令碼中浮點數運算 最近寫了個shell指令碼,檢視運算結果時發現,結果值沒有小數點。怎麼回事?原來shell中的運算都是整數運算。那怎麼把小數點搞出來,...
Shell浮點數運算
shell本身不支援浮點數運算,之類的數 算符只能進行整數運算。要想在shell中運算浮點數,只能借助於bc,awk或者perl。如 a 0.1 b 0.2 c echo a b bc l 或者perl e print stdout a b 需要注意的是,如果數學表示式中有負數,則必須確保運算子 與...
shell中用bc進行浮點運算
bash 不能處理浮點運算,並且缺乏特定的一些操作,這些操作都是一些重要的計算功能.幸運的是,bc 可以解決這個問題.bc不僅僅是個多功能靈活的精確的工具,而且它還提供許多程式語言才具備的一些方便的功能.因為它是乙個完整的 unix 工具,所以它可以用在管道 中,bc在指令碼中也是很常用的.這裡有乙...