重击-计算百分比

时间:2019-03-21 09:54:49

标签: bash awk

我正在尝试在Linux系统上进行计算。 我有两个不同的数字,用一个变量定义

class ChildBundle extends Bundle { function getParent() { return 'ParentBundle'; } } $1= 1024

我现在的任务是计算1024中的20的百分比。计算结果为(100/1024 * 20) 问题是,bash始终用这种类型的代码表示0:

$2= 20

有人知道我该如何计算吗?

3 个答案:

答案 0 :(得分:1)

您可以使用bc -l命令执行此操作。 例如。 echo "100/1024*20" | bc -l给出1.953125

答案 1 :(得分:1)

您的尝试无效,因为您正在执行整数计算:

100/1024 = 0          // integer calculation
100/1024 = 0.09765625 // floating point calculation

因此,您需要以某种方式说明要进行浮点计算。
您可以按照以下步骤进行操作:

awk 'BEGIN {print (100/1024*20)}'

可以在this post中找到更多示例。

答案 2 :(得分:-1)

您可以告诉bc将结果显示在小数点后2位(或所需的位数)中。 使用以下命令

echo "scale=8; 100 / $1 * $2" | bc

在我的计算机上,它报告如下内容:

1.95312500

您可以通过将正确的numbr传递给'scale'属性来更改小数位数。