gpt4 book ai didi

swift - 十六进制到二进制代码错误?

转载 作者:搜寻专家 更新时间:2023-11-01 06:58:25 26 4
gpt4 key购买 nike

所以,我正在尝试将十六进制的任何值转换为二进制,但似乎我的代码不接受 2f 等。我做错了什么?

@IBOutlet weak var input: UITextField!

@IBOutlet weak var mylabel: UILabel!

override func viewDidLoad() {

super.viewDidLoad()

}

override func didReceiveMemoryWarning() {

super.didReceiveMemoryWarning()
}

@IBAction func getresults(_ sender: Any) {
if Int(input.text!,radix:16) != nil
let hex = String(Int(input.text!,radix:16)!, radix:2)
mylabel.text = "The Hexadecimal of \(input.text!) conversion is: \(hex)"
}else{
mylabel.text = "Wrong input"

}
}

最佳答案

我会把你的函数改成这个……(我也改了一些变量名,因为它们目前有点困惑)

@IBAction func getresults(_ sender: Any) {
if let inputText = input.text, // 1
let inputHex = Int(inputText, radix: 16) { // 2

let binary = String(inputHex, radix: 2) // 3
mylabel.text = "The Hexadecimal of \(inputText) conversion is: \(binary)"
}else{
mylabel.text = "Wrong input"
}
}
  1. 检查输入是否为零。

  2. 将输入转换为十六进制 Int。

如果上述任何一项失败,则显示“错误输入”。

  1. 将十六进制整数转换为二进制。

然后显示二进制。

不推荐使用强制解包 !,因为如果值为 nil,它会使您的应用程序崩溃。使用 if let(可选绑定(bind))是一种检查它是否为 nil 并将该值绑定(bind)到非可选变量的方法。

关于swift - 十六进制到二进制代码错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52052793/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com