【问题标题】:multiply uilabel value by uitextfield value将 uilabel 值乘以 uitextfield 值
【发布时间】:2016-01-29 14:55:17
【问题描述】:

我正在开发一个应用程序,基本上将工作时间乘以人员工资。人员工资是从链接到登录用户的解析中调用的字符串。

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

}

任何帮助将不胜感激。

【问题讨论】:

    标签: math uitextfield swift2 calculator formulas


    【解决方案1】:

    整数变量只能保存整数。对于带小数的值,您需要使用 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)"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多