Math 将uilabel值乘以uitextfield值

Math 将uilabel值乘以uitextfield值,math,uitextfield,swift2,calculator,formulas,Math,Uitextfield,Swift2,Calculator,Formulas,我正在开发一款应用程序,它基本上是员工工资工作时间的乘积。persons工资是一个名为from parse的字符串,链接到登录用户 首先,我使用了下面的代码,但它不适用于小数,即标签$43和uiTextField 8.5小时-如果小时数是像8这样的整数,它可以正常工作。这是我使用的代码- @IBOutlet weak var workedHours: UITextField! @IBOutlet weak var pay: UITextField! @IBOutlet weak var mone

我正在开发一款应用程序,它基本上是员工工资工作时间的乘积。persons工资是一个名为from parse的字符串,链接到登录用户

首先,我使用了下面的代码,但它不适用于小数,即标签$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)"

}

非常感谢您的帮助。

整数变量只能包含整数。对于带小数的值,需要使用浮点或双精度:

  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)"