From 228160a62bafa11f4f997f050b40523da38838fe Mon Sep 17 00:00:00 2001 From: ShikiSuen Date: Thu, 22 Dec 2022 16:15:33 +0800 Subject: [PATCH] SwiftExtension // Add i18n number formatters. --- .../SwiftExtension/SwiftExtension.swift | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/Packages/vChewing_SwiftExtension/Sources/SwiftExtension/SwiftExtension.swift b/Packages/vChewing_SwiftExtension/Sources/SwiftExtension/SwiftExtension.swift index 8ab1e5c3..59522e51 100644 --- a/Packages/vChewing_SwiftExtension/Sources/SwiftExtension/SwiftExtension.swift +++ b/Packages/vChewing_SwiftExtension/Sources/SwiftExtension/SwiftExtension.swift @@ -185,3 +185,23 @@ extension String { extension String { public var withEllipsis: String { self + "…" } } + +// MARK: - Localized String Extension for Integers and Floats + +extension BinaryFloatingPoint { + public func i18n(loc: String) -> String { + let formatter = NumberFormatter() + formatter.locale = Locale(identifier: loc) + formatter.numberStyle = .spellOut + return formatter.string(from: NSDecimalNumber(string: "\(self)")) ?? "" + } +} + +extension BinaryInteger { + public func i18n(loc: String) -> String { + let formatter = NumberFormatter() + formatter.locale = Locale(identifier: loc) + formatter.numberStyle = .spellOut + return formatter.string(from: NSDecimalNumber(string: "\(self)")) ?? "" + } +}