我想在此表達的點後得到兩位小數:7/2輪2位小數SH
#temperature equal 7
tempeture= `cat temperature`
rate= expr $temperature/2
echo "$rate"
我越來越3,我想3.50。 thk
我想在此表達的點後得到兩位小數:7/2輪2位小數SH
#temperature equal 7
tempeture= `cat temperature`
rate= expr $temperature/2
echo "$rate"
我越來越3,我想3.50。 thk
一種方式圓兩個decimails將使用bc
命令和設置scale
變量等於2:
echo "scale=2; ($temperature/2)" | bc
您也可以使用printf
這樣的:
printf "%.2f" $(($temperature/2))
您需要將-l參數添加到bc調用中,否則它將僅使用整數運行 – PerroVerd
@PerroVerd - 似乎沒有它可以正常工作嗎? – Cyclonecode
此問題已被要求和回答。
見:https://askubuntu.com/questions/179898/how-to-round-decimals-using-bc-in-bash
一個bash功能全面:
round()
{
echo $(printf %.$2f $(echo "scale=$2;(((10^$2)*$1)+0.5)/(10^$2)" | bc))
};
你也使用printf
的類型說明:
$ temperature=7
$ echo "$temperature/2" | bc -l
3.50000000000000000000
$ printf "%.2f\n" $(echo "$temperature/2" | bc -l)
3.50
你能解釋一下多一點? –