私は 1 つの毎日の作業スケジュール プロジェクトの Windows Phone を行っています。その中で、最初に変数に最大時間または分を設定します。つまり、100% と仮定します。時間が減少すると、パーセンテージも減少するはずです。
たとえば、100% に対して 10 時間を与えると仮定すると、時間が 5 に短縮された場合、パーセンテージは 50% になります。
誰かがこれを行う方法を教えてください。
私は 1 つの毎日の作業スケジュール プロジェクトの 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
そのようなSomtehing:
var tenHours = TimeSpan.FromHours(10); // 100%
var testHours = TimeSpan.FromHours(3); // 30%
var percent = ((float) testHours.Ticks/tenHours.Ticks)*100f;
シンプルなプロポーション。10 時間が 100% の場合 5 時間はどれくらい... 5/10*100
"P" フォーマッタdouble
を使用して、値 (0.0 - 1.0) をパーセンテージとしてフォーマットできます。
(0.5).ToString("P0"); // "50%"