     /// The locale used for numeric presentation. (defaults to current locale)
     public var locale = Locale.current {
         didSet {
+            numberFormatter.locale = locale
             updateAppearance(animated: false)
             resize()
         }

    /// The `UIPickerView` embedded within this control
    fileprivate(set) var picker: UIPickerView = UIPickerView()

    // MARK: - Object life cycle

    /// Initializes and returns a newly allocated `NumericPicker` object with a zero-sized frame rectangle.

     configure the components of the picker view
     */
    func updatedComponentString(value: Double, intDigits: Int, fractionDigits: Int) -> String {
        numberFormatter.minimumIntegerDigits = intDigits
        numberFormatter.minimumFractionDigits = fractionDigits
        numberFormatter.maximumFractionDigits = fractionDigits
        numberFormatter.numberStyle = .decimal

        let stringValue = numberFormatter.string(from: NSNumber(value: value))
        return stringValue ?? numberFormatter.string(from: 0)!
    }

    /**
