From 5afb411af0ef24076a18640436f6acf031009679 Mon Sep 17 00:00:00 2001 From: Vladimir Petrov Date: Mon, 23 Sep 2024 12:40:47 +0400 Subject: [PATCH] Fixed decimalSeparator for locale with "," symbol --- Sources/NPBaseConfig.swift | 2 ++ Sources/NPDecimalConfig.swift | 4 ++-- Sources/NPFloatConfig.swift | 4 ++-- Sources/NumberPad.swift | 2 +- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/Sources/NPBaseConfig.swift b/Sources/NPBaseConfig.swift index 17b54b3..3554edc 100644 --- a/Sources/NPBaseConfig.swift +++ b/Sources/NPBaseConfig.swift @@ -33,6 +33,8 @@ open class NPBaseConfig: ObservableObject // MARK: - Public Properties + public var decimalCharacter: Character { Locale.current.decimalSeparator?.first ?? "." } + public var showDecimalPoint: Bool { false } public var stringValue: String { diff --git a/Sources/NPDecimalConfig.swift b/Sources/NPDecimalConfig.swift index f561bcb..b16194f 100644 --- a/Sources/NPDecimalConfig.swift +++ b/Sources/NPDecimalConfig.swift @@ -52,7 +52,7 @@ public final class NPDecimalConfig: NPBaseConfig { override public func decimalPointAction() -> Bool { guard decimalPointIndex == nil else { return false } - sValue.append(".") + sValue.append(decimalCharacter) return true } @@ -82,6 +82,6 @@ public final class NPDecimalConfig: NPBaseConfig { } internal var decimalPointIndex: String.Index? { - sValue.firstIndex(of: ".") + sValue.firstIndex(of: decimalCharacter) } } diff --git a/Sources/NPFloatConfig.swift b/Sources/NPFloatConfig.swift index 456356d..e610b5b 100644 --- a/Sources/NPFloatConfig.swift +++ b/Sources/NPFloatConfig.swift @@ -54,7 +54,7 @@ public final class NPFloatConfig: NPBaseConfig override public func decimalPointAction() -> Bool { guard decimalPointIndex == nil else { return false } - sValue.append(".") + sValue.append(decimalCharacter) return true } @@ -85,6 +85,6 @@ public final class NPFloatConfig: NPBaseConfig } internal var decimalPointIndex: String.Index? { - sValue.firstIndex(of: ".") + sValue.firstIndex(of: decimalCharacter) } } diff --git a/Sources/NumberPad.swift b/Sources/NumberPad.swift index 5f172fb..131f4df 100644 --- a/Sources/NumberPad.swift +++ b/Sources/NumberPad.swift @@ -106,7 +106,7 @@ public struct NumberPad: View private var decimalPoint: some View { Button(action: decimalPointAction) { - Text(".") + Text(String(config.decimalCharacter)) .frame(maxWidth: .infinity, maxHeight: .infinity) } }