Number formatting
This commit is contained in:
@@ -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)"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user