From 04e343b09137d2c0c19bc5b74bc4e64dbc425a2c Mon Sep 17 00:00:00 2001 From: cdricms <36056008+cdricms@users.noreply.github.com> Date: Thu, 7 Aug 2025 15:55:01 +0200 Subject: [PATCH] Number formatting --- Sources/Units/Units.swift | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/Sources/Units/Units.swift b/Sources/Units/Units.swift index f55f00a..8e3f800 100644 --- a/Sources/Units/Units.swift +++ b/Sources/Units/Units.swift @@ -271,15 +271,22 @@ public struct UnitValue: // MARK: CustomStringConvertible Conformance public var description: String { + return self.formatted(maximumFractionDigits: 4) + } + + // New reusable function + public func formatted(maximumFractionDigits: Int) -> String { let formatter = NumberFormatter() - formatter.maximumFractionDigits = 4 - formatter.minimumFractionDigits = 0 + formatter.maximumFractionDigits = maximumFractionDigits + formatter.minimumFractionDigits = 0 // To avoid trailing zeros when not needed formatter.numberStyle = .decimal - if let formattedValue = formatter.string(from: NSNumber(value: value)) { - return "\(formattedValue) \(unit.rawValue)" + if let formattedValue = formatter.string( + from: NSNumber(value: self.value)) + { + return "\(formattedValue) \(self.unit.rawValue)" } else { - return "\(value) \(unit.rawValue)" + return "\(self.value) \(self.unit.rawValue)" } }