举个例子:
我们需要计算音频专辑播放进度条的子部分的大小。专辑中的每个曲目的长度都表示为TimeSpan值。专辑的总长度也是TimeSpan。
我需要计算每张曲目与整张专辑相比的长度重量,因此我可以分别在进度条上绘制它。
我知道不可能按原样分配两个TimeSpan变量,所以我试图划分.Ticks。
long coeff = curTrackLength.Ticks / _totalLength.Ticks;
这种划分总是导致0.我需要一个更精确的值。如何实现更精确的计算?
环境是适用于Windows Phone Mango的Silverlight。
答案 0 :(得分:7)
您需要至少将一方投射到double
或decimal
以避免整数除法。
答案 1 :(得分:0)
long coeff = (long) ((double) curTrackLength.Ticks / (double) _totalLength.Ticks);