我正在做一個日常工作shedule項目的Windows手機。最初,我會將最大小時數或分鐘數設置爲一個變量,即假設爲100%。如果時間減少,那麼百分比也應該減少。如何將時間轉換爲百分比? (說明裏面)
例如,假設我們給10小時爲100%,如果小時減少到5,百分比應該是50%。
有人告訴我該怎麼做。
我正在做一個日常工作shedule項目的Windows手機。最初,我會將最大小時數或分鐘數設置爲一個變量,即假設爲100%。如果時間減少,那麼百分比也應該減少。如何將時間轉換爲百分比? (說明裏面)
例如,假設我們給10小時爲100%,如果小時減少到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;
可以格式化double
值(0.0 - 1.0)作爲使用"P" formatter的百分比。
(0.5).ToString("P0"); // "50%"
Downvoter關心評論? – 2013-02-21 04:49:41
我不是downvoter,但我想這是因爲這個問題不是關於格式,而是關於計算百分比。你的答案假定OP已經知道如何計算(他顯然沒有)。我是upvoting,因爲我從來不知道'double.ToString(字符串格式)' – Nolonar 2013-02-21 09:12:43
簡單的比例。如果10小時是100%5小時是多少... 5/10 * 100
你能證明你試過了嗎? – 2013-02-20 11:11:13
你描述過程很好,問題是什麼?只要實施它。 – 2013-02-20 11:11:57
-1這是非常基本的數學。 [提示](http://en.wikipedia.org/wiki/Rule_of_three_%28mathematics%29#Rule_of_Three) – 2013-02-20 11:12:11