如何处理shell脚本中的十进制值

时间:2014-04-04 09:31:10

标签: linux shell

我想在shell脚本中使用十进制值,但它不起作用。我没有得到小数值。 很少有帖子建议使用linux的'bc'实用程序。但在我的机器'bc'没有安装,我无权安装任何实用程序。 现在可以在没有bc的情况下处理十进制值。 演示代码 - :

calculatePercentage()
   {
    Value1=$1
    Value2=$2
    val=`expr $Value1 / $Value2`
    echo $val
    }

h=`calculatePercentage "150" "200"`
echo $h

输出 - :

1

2 个答案:

答案 0 :(得分:5)

以下是为方便起见的程序

echo $1 $2 | awk '{div=$1/$2; printf"%0.2f\n", div }'

输出: - 执行时bash prog.sh 40 23

  

1.74

简单的单线程序

答案 1 :(得分:0)

伸展荒诞:

n1=9381
n2=99999
n1pad="$n1"$(printf "%010d" 0)
result=$(expr $n1pad / $n2)
result=$(printf "%010d" $result | sed 's/\(.\{1,10\}\)$/.\1/')
result=$(printf "%f" $result)