划分两个TimeSpans以获得系数

Max*_*lov 2 .net c# timespan division

举个例子:

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

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

我知道不可能将两个TimeSpan变量分开,所以我试图划分.Ticks.

long coeff = curTrackLength.Ticks / _totalLength.Ticks;
Run Code Online (Sandbox Code Playgroud)

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

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

SLa*_*aks 7

您需要至少投射一侧doubledecimal避免整数除法.

  • 根据所需的精度级别,您还可以除以已经为double的TotalMilliseconds/TotalSecconds属性. (2认同)