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.
| Method | Unrounded seconds | Displayed time |
|---|---|---|
| Original target × 40 ÷ 42.195 | 13,650.9065055… | 3:47:31 |
| Rounded 341-second pace × 40 | 13,640 | 3: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
| Column | Meaning |
|---|---|
| distance_mm | Marker distance in millimetres |
| distance_display | Human-readable distance and unit |
| cumulative_ms | Raw cumulative elapsed milliseconds |
| display_time | Rounded 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.