百分比计算

时间:2010-12-30 09:16:19

标签: c# asp.net asp.net-mvc-2 drop-down-menu

我正在使用ASP.NET MVC 2中的进度条概念。这里我有一个DropDownList,它有10个值。我想计算进度条的百分比,例如来自DropDownList的10个值,我有一个返回值2的查询​​。所以,我得到的10个值中有2个。“20%已完成”应显示..如何进行此计算

7 个答案:

答案 0 :(得分:70)

使用Math.Round()

int percentComplete = (int)Math.Round((double)(100 * complete) / total);

或手动舍入:

int percentComplete = (int)(0.5f + ((100f * complete) / total));

答案 1 :(得分:63)

(current / maximum) * 100。在您的情况下,(2 / 10) * 100

答案 2 :(得分:32)

使用C#字符串格式化可以避免乘以100,因为它会使代码更短更清晰,特别是因为括号较少而且可以避免使用舍入代码。

(current / maximum).ToString("0.00%");

//输出 - 16.67%

答案 3 :(得分:7)

数学上,从两个数字中获得百分比:

percentage = (yourNumber / totalNumber) * 100;

而且,从百分比计算:

number = (percentage / 100) * totalNumber;

答案 4 :(得分:4)

您可以保留十进制(value \ total)的百分比,然后当您想要渲染给人类时,您可以使用Habeeb's answer或使用string interpolation有一些更清洁的东西:

var displayPercentage = $"{(decimal)value / total:P}";

//Calculate percentage earlier in code
decimal percentage = (decimal)value / total;
...
//Now render percentage
var displayPercentage = $"{percentage:P}";

答案 5 :(得分:0)

在我的例子中,我设置了两个整数,并试图计算百分比,并且总是得到 0;

我的代码(之前)

int Ff_Crm_Count = Ff_Crm.Count();
int Unfollowed_Ff_Crm_Count = Unfollowed_Ff_Crm.Count();
int The_Percentage = (Unfollowed_Ff_Crm_Count / Ff_Crm_Count) * 100);

做研究之后(之后)

double Ff_Crm_Count = Ff_Crm.Count();
double Unfollowed_Ff_Crm_Count = Unfollowed_Ff_Crm.Count();
double The_Percentage = Math.Round((double)((Unfollowed_Ff_Crm_Count / Ff_Crm_Count) * 100),2);

答案 6 :(得分:0)

请记住,如果您有两个整数,您可能需要将其中一个数字转换为两倍

null