2011-11-28 40 views
2

給出一個例子:劃分兩個TimeSpans得到一個係數

我們需要計算音頻專輯播放進度條的小節的大小。專輯中的每個曲目的長度均以TimeSpan值表示。一張專輯的總長度也是一個TimeSpan。

我需要計算每個音軌與整個專輯相比的長度方向的重量,因此我可以分別在一個進度條上繪製它。

我知道不可能按原樣分配兩個TimeSpan變量,所以我試圖分割.Ticks。

long coeff = curTrackLength.Ticks/_totalLength.Ticks; 

這樣的分割總是結果爲0.我需要更精確的值。我怎樣才能達到更精確的計算?

環境是Windows Phone Mango的Silverlight。

回答

7

您需要投入至少一邊doubledecimal以避免整數分割。

+2

根據需要的精度級別,還可以除以TotalMilliseconds/TotalSecconds屬性,該屬性已經是double。 –

0
long coeff = (long) ((double) curTrackLength.Ticks/(double) _totalLength.Ticks);