Number formatting

This commit is contained in:
cdricms
2025-08-07 15:55:01 +02:00
parent ec47a20b29
commit 04e343b091

View File

@@ -271,15 +271,22 @@ public struct UnitValue<ValueType: ConvertibleToDouble>:
// MARK: CustomStringConvertible Conformance // MARK: CustomStringConvertible Conformance
public var description: String { public var description: String {
return self.formatted(maximumFractionDigits: 4)
}
// New reusable function
public func formatted(maximumFractionDigits: Int) -> String {
let formatter = NumberFormatter() let formatter = NumberFormatter()
formatter.maximumFractionDigits = 4 formatter.maximumFractionDigits = maximumFractionDigits
formatter.minimumFractionDigits = 0 formatter.minimumFractionDigits = 0 // To avoid trailing zeros when not needed
formatter.numberStyle = .decimal formatter.numberStyle = .decimal
if let formattedValue = formatter.string(from: NSNumber(value: value)) { if let formattedValue = formatter.string(
return "\(formattedValue) \(unit.rawValue)" from: NSNumber(value: self.value))
{
return "\(formattedValue) \(self.unit.rawValue)"
} else { } else {
return "\(value) \(unit.rawValue)" return "\(self.value) \(self.unit.rawValue)"
} }
} }