Просмотр исходного кода

Fix mmol/L conversion decimal separator

Deniz Cengiz 1 год назад
Родитель
Сommit
6404ecab39

+ 1 - 2
FreeAPS/Sources/Modules/Home/View/Header/CurrentGlucoseView.swift

@@ -86,8 +86,7 @@ struct CurrentGlucoseView: View {
                         if let glucoseValue = combinedGlucoseValues.first?.glucose {
                             let displayGlucose = units == .mgdL ? Decimal(glucoseValue) : Decimal(glucoseValue).asMmolL
                             Text(
-                                glucoseValue == 400 ? "HIGH" :
-                                    glucoseFormatter.string(from: displayGlucose as NSNumber) ?? "--"
+                                glucoseValue == 400 ? "HIGH" : displayGlucose.description
                             )
                             .font(.system(size: 40, weight: .bold, design: .rounded))
                             .foregroundColor(alarm == nil ? colourGlucoseText : .loopRed)

+ 4 - 15
FreeAPS/Sources/Modules/OverrideConfig/View/OverrideRootView.swift

@@ -50,18 +50,7 @@ extension OverrideConfig {
             formatter.maximumFractionDigits = 0
             return formatter
         }
-
-        private var glucoseFormatter: NumberFormatter {
-            let formatter = NumberFormatter()
-            formatter.numberStyle = .decimal
-            formatter.maximumFractionDigits = 0
-            if state.units == .mmolL {
-                formatter.maximumFractionDigits = 1
-            }
-            formatter.roundingMode = .halfUp
-            return formatter
-        }
-
+        
         var body: some View {
             VStack {
                 Picker("Tab", selection: $state.selectedTab) {
@@ -449,8 +438,8 @@ extension OverrideConfig {
         }
 
         @ViewBuilder private func overridesView(for preset: OverrideStored) -> some View {
-            let target = state.units == .mmolL ? (((preset.target ?? 0) as NSDecimalNumber) as Decimal)
-                .asMmolL : (preset.target ?? 0) as Decimal
+            let target = (state.units == .mgdL ? preset.target : preset.target?.decimalValue.asMmolL as NSDecimalNumber?) ?? 0
+            
             let duration = (preset.duration ?? 0) as Decimal
             let name = ((preset.name ?? "") == "") || (preset.name?.isEmpty ?? true) ? "" : preset.name!
             let percent = preset.percentage / 100
@@ -458,7 +447,7 @@ extension OverrideConfig {
             let durationString = perpetual ? "" : "\(formatter.string(from: duration as NSNumber)!)"
             let scheduledSMBstring = (preset.smbIsOff && preset.smbIsAlwaysOff) ? "Scheduled SMBs" : ""
             let smbString = (preset.smbIsOff && scheduledSMBstring == "") ? "SMBs are off" : ""
-            let targetString = target != 0 ? "\(glucoseFormatter.string(from: target as NSNumber)!)" : ""
+            let targetString = target != 0 ? target.description : ""
             let maxMinutesSMB = (preset.smbMinutes as Decimal?) != nil ? (preset.smbMinutes ?? 0) as Decimal : 0
             let maxMinutesUAM = (preset.uamMinutes as Decimal?) != nil ? (preset.uamMinutes ?? 0) as Decimal : 0
             let isfString = preset.isf ? "ISF" : ""