Беговой темп — это время, делённое на дистанцию. Для надёжного результата нужно явно указать единицу дистанции, полное время и округлять только готовое отношение.

Начните с двух известных величин

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

Нормализуйте дистанцию один раз

PaceCalc хранит дистанцию в целых микрометрах: километр равен 1 000 000 000 мкм, миля — 1 609 344 000 мкм. Поэтому 5 км — ровно 5 000 000 000 мкм. Оба вывода строятся из одной дистанции, а не из другого округлённого значения.

Округляйте вывод, а не формулу

Темп может содержать долю секунды. PaceCalc хранит её как сокращённую рациональную дробь, вычисляет скорость и отсечки и лишь затем округляет часы до секунды. Поэтому показанные 5:41 не умножаются обратно в ошибочное время полумарафона.