Rob*_*ood 55 c# asp.net asp.net-mvc-2 drop-down-menu
我正在使用ASP.NET MVC 2中的进度栏概念.这里我有一个DropDownList,它有10个值.我想计算进度条的百分比,例如来自DropDownList的10个值,我有一个返回值2的查询.因此,我得到的10个值中有2个"应该显示20%已完成".如何做这个计算
Sog*_*ger 76
使用Math.Round():
int percentComplete = (int)Math.Round((double)(100 * complete) / total);
Run Code Online (Sandbox Code Playgroud)
或手动舍入:
int percentComplete = (int)(0.5f + ((100f * complete) / total));
Run Code Online (Sandbox Code Playgroud)
Nic*_*uet 67
(current / maximum) * 100.在你的情况下,(2 / 10) * 100.
Hab*_*eeb 34
使用C#String格式,您可以避免乘以100,因为它会使代码更短更清晰,特别是因为括号较少而且可以避免舍入代码.
(current / maximum).ToString("0.00%");
Run Code Online (Sandbox Code Playgroud)
//输出 - 16.67%
您可以将百分比保留为十进制(value \ total),然后当您想呈现给人类时,您可以使用Habeeb 的 答案或使用字符串插值,您可以获得更清晰的东西:
var displayPercentage = $"{(decimal)value / total:P}";
Run Code Online (Sandbox Code Playgroud)
或者
//Calculate percentage earlier in code
decimal percentage = (decimal)value / total;
...
//Now render percentage
var displayPercentage = $"{percentage:P}";
Run Code Online (Sandbox Code Playgroud)
在数学上,从两个数字中获得百分比:
percentage = (yourNumber / totalNumber) * 100;
Run Code Online (Sandbox Code Playgroud)
而且,从百分比计算:
number = (percentage / 100) * totalNumber;
Run Code Online (Sandbox Code Playgroud)
请记住,如果您有两个整数,您可能需要将其中一个数字转换为双倍
(double)i / events.Count * 100
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
186896 次 |
| 最近记录: |