我有一个带有2个文本字段的简单应用 用户只需要输入服务年薪 我只需要乘以它们。 想要输出到文本标签
(1)我检查了零,并且代码通过 (2)但我无法将值转换为Int进行乘法 (3)调试部分,只需将Int(UserInputVariable.txt)*乘以任意数字 (4)然后打印。没有输出到调试屏幕
if let var1 = Int(staffYrOfServiceTextField.text!) {
let mult = var1 * 3
print(mult)
}
我希望输出到调试屏幕
答案 0 :(得分:0)
您永远不会在输出调试器中“验证” var1是否为nil。
if let var1 = Int(staffYrOfServiceTextField.text!) {
let mult = var1 * 3
print(mult)
} else {
// If reach here, then Int(staffYrOfServiceTextField.text!) is nil.
print(staffYrOfServiceTextField.text)
print("staffYrOfServiceTextField text does not conform to int or is nil")
}
答案 1 :(得分:0)
根据您的问题陈述,可能有两种解决方法:
1)当textField的键盘类型仅为数字时,您可以确定输入绝对是整数。
if let salary = txtFld_Salary.text, let exp = txtFld_YearOfExperience.text {
let multi = Int(salary)! * Int(exp)!
print(multi)
}
2)如果您尚未定义键盘类型,并且用户可以在其中输入字符串值,请使用以下代码获取乘法:
if let salary = txtFld_Salary.text, let exp = txtFld_YearOfExperience.text {
if let intSalary = Int(salary), let intExp = Int(exp) {
let multi = intSalary * intExp
print(multi)
}
}