From 1a200e676bda7eb244076b5d5700339f24bdb549 Mon Sep 17 00:00:00 2001 From: Congpencil <48820766+Congpencil@users.noreply.github.com> Date: Mon, 28 Jun 2021 12:15:23 +0700 Subject: [PATCH] get amount string --- Sources/VNDTextField/VNDTextField.swift | 44 +++++++++++++++---------- 1 file changed, 27 insertions(+), 17 deletions(-) diff --git a/Sources/VNDTextField/VNDTextField.swift b/Sources/VNDTextField/VNDTextField.swift index 74afdcb..2bdaa99 100644 --- a/Sources/VNDTextField/VNDTextField.swift +++ b/Sources/VNDTextField/VNDTextField.swift @@ -168,29 +168,19 @@ public class VNDTextField: UITextField { } @objc private func textDidChange() { - guard var inputText = self.text else { - return - } - - // remove "đ" from text in textfield - let charecterDeleted = "đ" - inputText.removeAll(where: { charecterDeleted.contains($0) }) - - // remove "." from text in textfield - inputText.removeAll { $0 == "." } - - // remove space from text in textfield - inputText.removeAll { $0 == " " } - - // format currency text in textfield - if let amountString = Int(inputText) { - self.text = formatCurrency(amountString) + let inputText = getAmount() + if let inputText = Int(inputText) { + self.text = formatCurrency(inputText) } if let newPosition = self.position(from: self.endOfDocument, offset: -2) { self.selectedTextRange = self.textRange(from: newPosition, to: newPosition) } + guard let inputText = self.text else { + return + } + if inputText.count > 0 && inputText.count < 4 { guard let inputText = Int(inputText) else { return @@ -241,6 +231,26 @@ public class VNDTextField: UITextField { } } + /// Get text in texfield convert to int + /// - Returns: interger + public func getAmount() -> String { + guard var inputText = self.text else { + return "" + } + + // remove symbol from text in textfield + let charecterDeleted = "đ" + inputText.removeAll(where: { charecterDeleted.contains($0) }) + + // remove "." from text in textfield + inputText.removeAll { $0 == "." } + + // remove space from text in textfield + inputText.removeAll { $0 == " " } + + return inputText + } + /// Format input number to string /// - Parameter inputNumber: ext in textfield as Int /// - Parameter symbol: defaufl character = "đ"