【发布时间】:2021-06-11 02:34:47
【问题描述】:
这里是 Swift 新手。我正在制作一个应用程序,它将通过 TextField 从用户那里获取价格,并计算小费。为了让它不会崩溃,我希望它只接受一个有效的双倍,但我不确定如何做到这一点。
处理这个过程的按钮函数:
@IBAction func calculate_eighteen_perc(_ sender: Any) {
let bill:Double = round(Double(user_bill_input.text!)! * 100) / 100.0
let tip:Double = round(bill * 0.18 * 100) / 100.0
let total:Double = bill + tip
result_display.text = "Tip Amount: $\(tip); Total: $\(total)"
}
据我所知,会导致程序崩溃的情况是:
- 数字前的空格。
- 输入中的任何非数字字符。
- 多个小数点。
- 空输入(无)。
有没有办法优雅地处理这个问题,而无需编写条件来检查每个案例? 提前感谢您的帮助。
【问题讨论】:
-
你必须自己创建一个函数来验证用户输入。