Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save levi/a396f6d80176e482d7e6d26dac155329 to your computer and use it in GitHub Desktop.
Save levi/a396f6d80176e482d7e6d26dac155329 to your computer and use it in GitHub Desktop.
currencyDelegate
//
// CurrencyDelegate.swift
// TextFieldDelegate
//
// Created by Timothy Isenman on 12/10/17.
// Copyright © 2017 Timothy Isenman. All rights reserved.
//
import Foundation
import UIKit
class CurrencyDelegate: NSObject, UITextFieldDelegate {
var amount: Int = 0
func currencyAmount() -> String {
let formatter = NumberFormatter()
formatter.numberStyle = .currency
let amount = Double(self.amount/100) + Double(self.amount%100)/100
return formatter.string(from: NSNumber(value: amount)) ?? ""
}
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
if let digit = Int(string) {
amount = amount * 10 + digit
textField.text = currencyAmount()
} else if string == "" {
amount = amount / 10
textField.text = currencyAmount()
}
return false
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment