舍入到小数点后2位

时间:2016-05-17 09:50:55

标签: sh expr

我想在此表达式中的点后面得到两位小数:7/2

#temperature equal 7
tempeture= `cat temperature`  
rate= expr $temperature/2  
echo "$rate"

我得到3,我想要3.50。 THKS

3 个答案:

答案 0 :(得分:1)

您还可以使用printf的类型说明符:

$ temperature=7
$ echo "$temperature/2" | bc -l
3.50000000000000000000
$ printf "%.2f\n" $(echo "$temperature/2" | bc -l)
3.50

答案 1 :(得分:1)

舍入到两个decimails的一种方法是使用bc命令并将scale变量设置为2:

echo "scale=2; ($temperature/2)" | bc

你也可以像这样使用printf

printf "%.2f" $(($temperature/2))

答案 2 :(得分:0)

这个问题已经被提出并回答了 请参阅:https://askubuntu.com/questions/179898/how-to-round-decimals-using-bc-in-bash

bash round函数:

round()
{
echo $(printf %.$2f $(echo "scale=$2;(((10^$2)*$1)+0.5)/(10^$2)" | bc))
};