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
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)"
}
}