     }
 
     convenience init() {
-        self.init(locale: Locale.current)
-    }
-
-    convenience init(locale theLocale: Locale) {
+        self.init(locale: Locale.current, decimalPlaces: 2)
+    }
+
+    convenience init(locale theLocale: Locale, decimalPlaces: Int) {
         self.init(frame: .zero)
 
+        self.decimalPlaces = decimalPlaces
         locale = theLocale
         delegate = self
     }
 
     override public init(frame: CGRect) {
         super.init(frame: frame)
+
+        locale = nil
+        delegate = self
     }
 
     required public init?(coder aDecoder: NSCoder) {
         super.init(coder: aDecoder)
+
+        locale = nil
+        delegate = self
     }
 
     // MARK: -

        let replacedText = LionheartCurrencyTextField.digitRegularExpression.stringByReplacingMatches(in: _text, options: [], range: range, withTemplate: "")
        let value = NSDecimalNumber(string: replacedText)

        currencyFormatter.minimumFractionDigits = 2
        text = currencyFormatter.string(from: value)
    }
    

    open static var identifier = "CurrencyTextFieldIdentifier"

    weak fileprivate var passthroughDelegate: UITextFieldDelegate?
    var decimalPlaces: Int = 2

    static let digitRegularExpression: NSRegularExpression = {
        return try! NSRegularExpression(pattern: "[^\\d\\.]", options: [])
