划分两个TimeSpans以获得系数

时间:2011-11-28 22:09:46

标签: c# .net timespan division

举个例子:

我们需要计算音频专辑播放进度条的子部分的大小。专辑中的每个曲目的长度都表示为TimeSpan值。专辑的总长度也是TimeSpan。

我需要计算每张曲目与整张专辑相比的长度重量,因此我可以分别在进度条上绘制它。

我知道不可能按原样分配两个TimeSpan变量,所以我试图划分.Ticks。

long coeff = curTrackLength.Ticks / _totalLength.Ticks;

这种划分总是导致0.我需要一个更精确的值。如何实现更精确的计算?

环境是适用于Windows Phone Mango的Silverlight。

2 个答案:

答案 0 :(得分:7)

您需要至少将一方投射到doubledecimal以避免整数除法。

答案 1 :(得分:0)

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