Documentation
THE BASICS

Rounding and Finish Times

See why rounded pace labels must not be added repeatedly, and how cumulative rows preserve the exact target.

Stored values and displayed labels have different jobs

The calculator stores an entered distance in whole millimetres and a target duration in whole milliseconds. Derived paces and cumulative times retain precision until they are formatted. Non-negative displayed seconds use floor(value + 0.5), so a half-second rounds up.

Why a four-hour marathon displays 5:41/km

Dividing 14,400 seconds by 42.195 kilometres gives about 341.2726626 seconds per kilometre. The readable label is 5:41/km, or 341 whole seconds. That label is slightly shorter than the precise value and is not used as the source of the cumulative table.

Two ways of calculating the 40 km reference
MethodUnrounded secondsDisplayed time
Original target × 40 ÷ 42.19513,650.9065055…3:47:31
Rounded 341-second pace × 4013,6403:47:20

The repeated rounded-pace calculation is already about eleven seconds different at 40 km. The correct table calculates each marker from the original target and full distance. Its final row is the original 14,400,000 ms: exactly 4:00:00.

Why neighbouring labels can differ by one second

Suppose two raw cumulative values end in different fractional seconds. Rounding each value before subtraction is not always the same as subtracting first and rounding the difference. The table does not alter the target or redistribute seconds merely to make every displayed sum look identical.

Inspect raw values in CSV

Split export fields
ColumnMeaning
distance_mmMarker distance in millimetres
distance_displayHuman-readable distance and unit
cumulative_msRaw cumulative elapsed milliseconds
display_timeRounded elapsed time label

Use cumulative_ms for arithmetic and display_time for a readable reference. Spreadsheet software may format a duration-looking label as a time of day; keep the raw numeric column when doing further calculations.