#!/bash
for((i=1;i<=10;i++))
doecho $i
j=$(echo "$i*0.2-2.5"|bc)
echo $j
done
#!/bash
for((i=1;i<=10;i++))
doecho $i
j=`bc <<< "0.2*($-1)-2.5"`
echo $j
done
shell 包含三個命令:bc、expr、let可用於數值計算。
輸入:整數,let和expr都無法進行浮點運算,但是bc和awk可以。
輸出:bc、expr可直接顯示計算結果;let則丟棄計算結果,可通過傳遞結果到變數,取變數值獲得計算結果。
$ echo "scale=3; 1/13" | bc
.076
$ echo "1 13" | awk ''
0.077
scale用來控制小數點後面保留的位數,預設為0
由於實際使用時發現bc命令會把整數字的0給刪去,例如:
輸入:echo "0.001 + 0.002"|bc輸入:.003
所以我自己選擇了awk的方法
#!/bin/basha=7.2
b=8if [ `echo
"$a < $b
"|bc` -eq 1 ] ; then
echo
"$a < $b
"else
echo
"$a > $b
"fi
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指令碼中浮點數運算
a 1 b 2result printf 2f echo scale 2 a b bc echo result 輸出結果 0.50參考 shell指令碼中浮點數運算 最近寫了個shell指令碼,檢視運算結果時發現,結果值沒有小數點。怎麼回事?原來shell中的運算都是整數運算。那怎麼把小數點搞出來,...
浮點數運算
浮點數運算的公式 n m re n代表浮點數 m代表尾數 r代表基數 e代表指數 所謂浮點數就是類似我們高中學的科學計數法 比如 1000 就表示為 1.0 103 那麼浮點型計算就是兩個用科學計數法表示的數之間進行的計算 例如 1.0 102 1.19 103 該如何計算 步驟 1.對階 所謂對階...