如何将空UITextField设为0以完成英尺英寸转厘米计算?
解决英尺/英寸转厘米时空文本框默认设为0的问题
你可以通过**空合运算符(??)**结合文本预处理,把空文本或无效输入默认转为0,确保计算总能执行。修改后的代码如下:
@IBAction func Calculate1Button(_ sender: UIButton) { let generator = UINotificationFeedbackGenerator() generator.notificationOccurred(.success) // 处理英尺输入:空值/无效值默认设为0 let feetText = feetToCmTextField.text?.trimmingCharacters(in: .whitespacesAndNewlines) ?? "" let feetValue = Double(feetText) ?? 0.0 let feetToCmValue = feetValue * 30.48 // 处理英寸输入:空值/无效值默认设为0 let inchesText = inchesToCmTextField.text?.trimmingCharacters(in: .whitespacesAndNewlines) ?? "" let inchesValue = Double(inchesText) ?? 0.0 let inchesToCmValue = inchesValue * 2.54 let result1 = Int(feetToCmValue + inchesToCmValue) result1Label.text = " \(result1) cm" }
关键处理说明:
trimmingCharacters(in: .whitespacesAndNewlines):先去除文本前后的空格、换行符,避免用户输入空格导致识别为空Double(feetText) ?? 0.0:尝试将文本转为Double类型,失败时(包括文本为空的情况)直接返回0.0- 拆分原有的嵌套
if let逻辑,改为分别处理两个输入值,确保任一输入为空时都能按0参与计算
内容的提问来源于stack exchange,提问作者Dan Meese
相关产品推荐
相关产品推荐

