Unix Math在我的数学后面增加了2 0。

时间:2014-07-21 16:23:50

标签: shell unix math

当我将其打印到我的电子邮件中时,我有一行代码在我的数学后面产生额外的00。我想知道我在这里做错了什么?

Percentage()
{
echo "scale = 2 ;($(Value)/5)*100" | bc -l | awk '{print $0"%"}'
}

产生29.34%的结果,产生29.00%。当我添加更多比例时,它变得像29.3400%而不是29.3423%。先感谢您。

1 个答案:

答案 0 :(得分:0)

假设值为:1.467115

scale也适用于任何(后续)计算。因此,来自scale=2的{​​{1}}创建:1.467115/50.29*100

将等式更改为:

29.00

并产生:

Value() {
    echo "1.467115"
}
Percentage() {
    echo "scale=${1:-2};$(Value)*100/5" | bc -l | awk '{print $0"%"}'
}

Percentage

29.34% 产生:

Percentage 4

Ps:为什么不使用awk进行计算?