通过uitextfield值

时间:2016-01-29 14:55:17

标签: math uitextfield swift2 calculator formulas

我正在开发一个应用程序,它基本上会增加人员工资的工作小时数。人员工资是从链接到登录用户的解析调用的字符串。

首先我使用下面的代码,但它不适用于小数,即标签$ 43和uiTextField 8.5小时 - 如果小时数是8的整数,它工作正常。这是我使用的代码 -

@IBOutlet weak var workedHours: UITextField!
@IBOutlet weak var pay: UITextField!
@IBOutlet weak var moneyMade: UITextField!

@IBAction func calculate(sender: AnyObject) {
moneyMade.text = "$" + ((pay.text! as NSString).integerValue *    (workedHours.text! as NSString).integerValue).description
}

我做了一些研究,并且我已经将值转换为整数,如果输入是整数,它可以正常运行但是只要使用小数,应用程序就会崩溃。有什么想法吗?这是我现在使用的代码。

@IBAction func calculate(sender: AnyObject) {
    let hours: String = workedHours.text!
    let wage: String = pay.text!

    var myInt: Int? = Int(hours)
    let myInt2: Int? = Int(wage)

    myInt = myInt! * myInt2!

    moneyMade.text! = "\(myInt)"

}

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

整数变量只能包含整数。对于带小数的值,您需要使用Float或Double:

  let hoursText = "8.5"
  let wageText  = "12.34"

  var money:Double = 0

  if let hours = Double(hoursText),
     let wage  = Double(wageText)
  {
     money = hours * wage
  }

  moneyMade.text = "\(money)"