From 202aeab3d071807a893a696975f0627d7a8e62e2 Mon Sep 17 00:00:00 2001 From: Patrick Wyatt Date: Tue, 22 Jul 2025 13:24:12 -0700 Subject: [PATCH] Update distance display precision for workouts Use 1 decimal place for miles, 0 for kilometers --- .../Models/Formatting/CustomMeasurementFormatting.swift | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/OutRun/Models/Formatting/CustomMeasurementFormatting.swift b/OutRun/Models/Formatting/CustomMeasurementFormatting.swift index dc56a597..343a7ee9 100644 --- a/OutRun/Models/Formatting/CustomMeasurementFormatting.swift +++ b/OutRun/Models/Formatting/CustomMeasurementFormatting.swift @@ -49,7 +49,14 @@ class CustomMeasurementFormatting { timeFormatter.zeroFormattingBehavior = .pad return timeFormatter.string(from: seconds) ?? "Error" case .distance: - return formatter.string(from: measurement.converting(to: UserPreferences.distanceMeasurementType.safeValue)) + let convertedMeasurement = measurement.converting(to: UserPreferences.distanceMeasurementType.safeValue) + // Apply different rounding based on unit: 1 decimal for miles, 0 decimals for kilometers + if UserPreferences.distanceMeasurementType.safeValue == UnitLength.miles { + formatter.numberFormatter.roundingIncrement = 0.1 + } else { + formatter.numberFormatter.roundingIncrement = 1 + } + return formatter.string(from: convertedMeasurement) case .altitude: return formatter.string(from: measurement.converting(to: UserPreferences.altitudeMeasurementType.safeValue)) case .speed: