微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将 UITextField 输入从 String 转换为 Double?

如何解决如何将 UITextField 输入从 String 转换为 Double?

我收到一条错误消息,提示我必须在 Double(billTotalTextField.text ?? 0.0)添加“from”,

但随后我收到另一条错误消息,指出“表达类型在没有更多上下文的情况下不明确”?

这是什么原因?

如何将String输入转换为Double?

import UIKit

class ViewController: UIViewController {
    @IBOutlet weak var billTotalTextField: UITextField!
    
    let tipPercentage = 0
    var billTotal = 0.0
    
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
    }
    
    @IBAction func tipButtonpressed(_ sender: UIButton) {
        billTotal = Double(from: billTotalTextField.text ?? 0.0)
        
        
        if sender.currentTitle == "0%"{
            let percentage0 = 0.0
            print(billTotal * percentage0)
        }else if sender.currentTitle == "10%"{
            let percentage10 = 0.1
            print(billTotal * percentage10)
        }else if sender.currentTitle == "20%"{
            let percentage20 = 0.2
            print(billTotal * percentage20)
        }
    

}

}

解决方法

您在一个参数中混合了字符串和数字值,因此您需要将其设为相同类型,如下所示:

billTotal = Double(billTotalTextField.text ?? "0.0") ?? 0.0

或者更清楚一点:

if let text = billTotalTextField.text {
   billTotal = Double(text) ?? 0.0
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。