百分比计算

问题描述 投票:0回答:8

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

c# asp.net asp.net-mvc-2 drop-down-menu
8个回答
108
投票

使用

Math.Round()

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

或手动舍入:

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

98
投票

(current / maximum) * 100
。就你而言,
(2 / 10) * 100


52
投票

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

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

//输出 - 16.67%


17
投票

从数学上来说,从两个数字中获取百分比:

percentage = (yourNumber / totalNumber) * 100;

而且,按百分比计算:

number = (percentage / 100) * totalNumber;

14
投票

您可以将百分比保留为小数

(value \ total)
,然后当您想要渲染给人类时,您可以使用Habeeb'sanswer或使用字符串插值您可以得到更干净的东西:

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

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

5
投票

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

(double)i / events.Count * 100

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);

0
投票

//对于其他人

如果您需要使用负数进行计算:

double minValue = -100;
double value = 30;
double maxValue = 100;
double perc = (value - minValue) / (maxValue - minValue);
Console.WriteLine((perc * 100) + "%");
© www.soinside.com 2019 - 2024. All rights reserved.