-1

有人可以帮我一些编码。我想算出这个分组的最终百分比是多少

100% of 4
0% of 1
100% of 12
100% of 2

所以答案将是

95% of 19

或类似的东西。

这可能吗?

谢谢

4

2 回答 2

6

一般来说,计算“加权平均值”的公式x% of y是:

sum(x/100 * y) / sum(y)

所以你的例子会产生

(1.0 * 4) + (0.0 * 1) + (1.0 * 12) + (1.0 * 2) / (4 + 1 + 12 + 2)

= 18 / 19 = ~94.7%
于 2012-10-12T15:22:07.453 回答
4

假设您有某种结构来保存您的百分比和属于这些百分比的项目数,以下代码将满足您的要求:

struct Data
{
    double Percent;
    int Count;
}

...

List<Data> items = new List<Data> ();
... // fill your list with Data instances, initialized with values

double total = 0; // running total
int totalcount = 0; // total number of items

for ( int i = 0; i < items.Count; i++ )
{
    totalcount += items[i].Count;
    total += ( items[i].Count * items[i].Percent );
}

double result = total / totalcount;
于 2012-10-12T15:21:50.210 回答