Разделите два промежутка времени, чтобы получить коэффициент


Приведен пример:

Нам нужно рассчитать размер подразделов для индикатора хода воспроизведения аудиоальбома. Каждый трек в альбоме имеет длину, представленную в виде значения TimeSpan. Общая длина альбома также является временным интервалом.

Мне нужно вычислить, сколько веса по длине имеет каждый трек по сравнению со всем альбомом, чтобы я мог нарисовать его соответственно на индикаторе прогресса.

Я знаю, что невозможно разделить две переменные TimeSpan как есть, поэтому я попытка разделить .Галочки.

long coeff = curTrackLength.Ticks / _totalLength.Ticks;

Такое деление всегда приводит к 0. Мне нужна более точная оценка. Как я могу добиться более точного расчета?

Среда-это Silverlight для Windows Phone Mango.

2 2

2 ответа:

Вам нужно привести хотя бы одну сторону к double или decimal, чтобы избежать целочисленного деления.

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