我正在开发一个应用程序,它基本上会增加人员工资的工作小时数。人员工资是从链接到登录用户的解析调用的字符串。
首先我使用下面的代码,但它不适用于小数,即标签$ 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)"
}
非常感谢任何帮助。
答案 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)"