如何将时间转换为百分比? (里面的描述)

时间:2013-02-20 11:09:49

标签: c# windows-phone-8

我每天都在做一个正在运行的项目Windows手机。在最初,我将最大小时或分钟设置为变量,假设即100%。如果时间减少,那么百分比也应该减少。

例如,假设我们给出10小时100%,如果小时减少到5,则百分比应为50%。

有人告诉我该怎么做。

5 个答案:

答案 0 :(得分:2)

一个简单的功能就足够了。你能试试吗?

    //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;
    }

答案 1 :(得分:0)

TimeSpan totalTime;
TimeSpan actualTime

actualTime.TotalMiliseconds / totalTime.TotalMiliseconds * 100

答案 2 :(得分:0)

类似的东西:

var tenHours = TimeSpan.FromHours(10); // 100%
var testHours = TimeSpan.FromHours(3); // 30%
var percent = ((float) testHours.Ticks/tenHours.Ticks)*100f;

答案 3 :(得分:0)

您可以使用"P" formatterdouble值(0.0 - 1.0)格式化为百分比。

(0.5).ToString("P0"); // "50%"

答案 4 :(得分:0)

比例简单。如果10小时是100%5小时是多少... 5/10 * 100