我正在做一个日常工作的计划项目 windows phone。最初我会将最大小时或分钟设置为一个变量,假设为 100%。如果时间减少,那么百分比也应该减少。
例如,假设我们为 100% 分配 10 小时,如果小时数减少到 5,则百分比应为 50%。
有人告诉我该怎么做。
我正在做一个日常工作的计划项目 windows phone。最初我会将最大小时或分钟设置为一个变量,假设为 100%。如果时间减少,那么百分比也应该减少。
例如,假设我们为 100% 分配 10 小时,如果小时数减少到 5,则百分比应为 50%。
有人告诉我该怎么做。
一个简单的功能就足够了。你可以试试这个吗?
//Example initial time to 1 houre == 100%
TimeSpan InitialTime = new TimeSpan(1, 0, 0);
private double getPercentOnTime(TimeSpan currentTime,TimeSpan timeToRemove)
{
//Convert all to minutes
double currentTime_minute = currentTime.TotalMinutes;
double timeToRemove_minute = timeToRemove.TotalMinutes;
double InitialTime_minute = InitialTime.TotalMinutes;
//Calcul the additional time to remove from InitialTime
double totaltimeToRemove = currentTime_minute + timeToRemove_minute;
//calcul the new percent
double percent = (InitialTime_minute / 100.0) * totaltimeToRemove;
return percent;
}
TimeSpan totalTime;
TimeSpan actualTime
actualTime.TotalMiliseconds / totalTime.TotalMiliseconds * 100
像这样的东西:
var tenHours = TimeSpan.FromHours(10); // 100%
var testHours = TimeSpan.FromHours(3); // 30%
var percent = ((float) testHours.Ticks/tenHours.Ticks)*100f;
您可以使用“P”格式化程序double
将值(0.0 - 1.0)格式化为百分比。
(0.5).ToString("P0"); // "50%"
简单的比例。如果 10 小时是 100% 5 小时是多少... 5/10*100