             label: label,
             placeholder: placeholder,
             value: intValue,
-            unit: unit,
+            formatter: formatter,
             minimum: minimum,
             maximum: maximum
         )
     }
 
-    public init(label: String, placeholder: String, value: Int?, isRequired: Bool = false, autoCorrect: Bool = false, unit: String? = nil, minimum: Int = 0, maximum: Int = Int.max) {
+    public init(label: String, placeholder: String, value: Int?, isRequired: Bool = false, autoCorrect: Bool = false, formatter: Formatter? = nil, minimum: Int = 0, maximum: Int = Int.max) {
         self.label = label
         self.placeholder = placeholder
         self.value = value
         self.originalValue = value
         self.minimumValue = minimum
         self.maximumValue = maximum
-        self.unit = unit
+        self.formatter = formatter
         self.isRequired = isRequired
         self.autoCorrect = autoCorrect
     }

    public let originalValue: Int?
    public let minimumValue: Int
    public let maximumValue: Int
    public let unit: String?
    public var value: Int?

    public convenience init(label: String, placeholder: String, value: String?, isRequired: Bool = false, unit: String? = nil, minimum: Int = 0, maximum: Int = Int.max) {
        var intValue: Int? = nil
        if let value = value {
            intValue = Int(value)

        guard let value = self.value else {
            return ""
        }
        if let formatter = self.formatter,
            let string = formatter.string(for: value)
        {
            return string
        }
        return value.description
    }
