誰かがコーディングを手伝ってくれませんか。このグループ化の最終的な割合を調べたい
100% of 4
0% of 1
100% of 12
100% of 2
したがって、答えは次のようになります
95% of 19
またはそのようなもの。
これは可能ですか?
ありがとう
一般に、「加重平均」を計算する式は次の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%
パーセンテージとそれらのパーセンテージに属するアイテムの数を保持する何らかの構造があると仮定すると、次のコードはあなたが求めていることを実行します:
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;