如何将时间转换为百分比?(内部描述)

本文关键字:内部 描述 百分比 时间 转换 | 更新日期: 2023-09-27 18:00:11

我每天都在做一个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