Advertisement
Guest User

Untitled

a guest
Aug 23rd, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.37 KB | None | 0 0
  1. import UIKit
  2.  
  3. class ViewController: UIViewController, UIPickerViewDelegate, UIPickerViewDataSource, UITextFieldDelegate {
  4.  
  5. @IBOutlet var Picker1: UIPickerView!
  6. var Array = ["1", "2"]
  7.  
  8. @IBOutlet var grossSalary: UITextField!
  9.  
  10. @IBOutlet var text: UILabel!
  11.  
  12. var mult = 2
  13.  
  14.  
  15. override func viewDidLoad() {
  16. super.viewDidLoad()
  17. // Do any additional setup after loading the view, typically from a nib.
  18. Picker1.delegate = self
  19. Picker1.dataSource = self
  20. grossSalary.delegate = self
  21. grossSalary.keyboardType = UIKeyboardType.numbersAndPunctuation
  22. text.text = ""
  23.  
  24. }
  25.  
  26. override func didReceiveMemoryWarning() {
  27. super.didReceiveMemoryWarning()
  28. // Dispose of any resources that can be recreated.
  29. }
  30.  
  31. func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
  32. return Array[row]
  33. }
  34.  
  35. func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
  36. return Array.count
  37. }
  38.  
  39. func numberOfComponents(in pickerView: UIPickerView) -> Int{
  40. return 1
  41. }
  42.  
  43.  
  44.  
  45. @objc(textField:shouldChangeCharactersInRange:replacementString:) func textField(_ grossSalary: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
  46. let invalidCharacters = CharacterSet(charactersIn: "0123456789.").inverted
  47. return string.rangeOfCharacter(from: invalidCharacters, options: [], range: string.startIndex ..< string.endIndex) == nil
  48. }
  49.  
  50. func textFieldShouldReturn(_ textField: UITextField) -> Bool {
  51. grossSalary.resignFirstResponder()
  52. return true
  53. }
  54.  
  55. @IBAction func changetext(_ sender: AnyObject) {
  56. text.text = grossSalary.text
  57. // let result = (text.text.toInt() ?? 0) * 2
  58. // text.text = "(result)"
  59.  
  60. let a = grossSalary.text
  61. let b = Int(a!)! * mult
  62.  
  63. text.text = ("$(b)0")
  64.  
  65.  
  66.  
  67. }
  68.  
  69. //dynamically change to currency text for cash down payment
  70. func myTextFieldDidChange1(_ textField: UITextField) {
  71.  
  72. if let amountString1 = cdptext.text?.currencyInputFormatting() {
  73. cdptext.text = amountString1
  74. }
  75. }
  76.  
  77. // formatting text for currency textField
  78. func currencyInputFormatting() -> String {
  79.  
  80. var number: NSNumber!
  81. let formatter = NumberFormatter()
  82. formatter.numberStyle = .currencyAccounting
  83. formatter.currencySymbol = "$"
  84. formatter.maximumFractionDigits = 2
  85. formatter.minimumFractionDigits = 2
  86.  
  87. var amountWithPrefix = self
  88.  
  89. // remove from String: "$", ".", ","
  90. let regex = try! NSRegularExpression(pattern: "[^0-9]", options: .caseInsensitive)
  91. amountWithPrefix = regex.stringByReplacingMatches(in: amountWithPrefix, options: NSRegularExpression.MatchingOptions(rawValue: 0), range: NSMakeRange(0, self.characters.count), withTemplate: "")
  92.  
  93. let double = (amountWithPrefix as NSString).doubleValue
  94. number = NSNumber(value: (double / 100))
  95.  
  96. // if first number is 0 or all numbers were deleted
  97. guard number != 0 as NSNumber else {
  98. return ""
  99. }
  100.  
  101. return formatter.string(from: number)!
  102. }
  103.  
  104. let balance = 125.78
  105.  
  106. let balanceCurrency = balance.currency
  107.  
  108. lblBalance.text = balanceCurrency
  109.  
  110. extension NumberFormatter {
  111. convenience init(style: Style) {
  112. self.init()
  113. numberStyle = style
  114. }
  115. }
  116.  
  117. extension Formatter {
  118.  
  119. static let currency = NumberFormatter(style: .currency)
  120.  
  121. }
  122.  
  123. extension FloatingPoint {
  124.  
  125. var currency: String {
  126. return Formatter.currency.string(for: self) ?? ""
  127. }
  128.  
  129. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement