Country TotalSales
UK 2512793.05
USA 119176.75
AUST 83599.25
GERM 45613.75
IREL 43352.50
SWED 32955.75
然后我有:
var list = new List<int> { 2512793, 119176, 83599, 45613, 43352 };
如何从上面的列表转换为百分比列表。请指教。
E.G:{45%,20%,15%,12%,8%}
答案 0 :(得分:2)
将列表转换为小数列表,并使用以下内容:
var list = new List<decimal> { 2512793, 119176, 83599, 45613, 43352 };
decimal sum = list.Sum();
var perc = list.Select(x => (x / sum) * 100);
或者,您可以将每个值转换为十进制。
或者作为@James指出,如果您需要输出该值,则无需乘以100。
var perc = list.Select(x => x / sum);
Console.WriteLine(perc.FirstOrDefault().ToString("P")); // Output the first value
答案 1 :(得分:0)
你可以尝试
var list = new List<int> {2512793, 119176, 83599, 45613, 43352 };
var percentage1 = list.Select(ele => (ele * 100) / list.Sum());