gpt4 book ai didi

ios - 接受小数

转载 作者:行者123 更新时间:2023-11-30 13:42:07 26 4
gpt4 key购买 nike

我正在尝试制作一个应用程序,让您输入高度和比例,它会计算面积等。但是当我输入 Let's ay 4,2 或 4.2 时,它崩溃或说执行错误。我尝试过不同的方式来声明,但我可能做错了。我尝试了 Float 和 Double 但没有成功。我将非常感谢任何帮助。

let atext: Int? = Int(radien.text!)
let btext: Int? = Int(höjden.text!)
let ctext: Int? = Int(sidan.text!)

let myInt = (atext! * atext!)
let tre = 3

let myInt2 = Double(myInt) * Double(M_PI) * Double(btext!)

let result = Float(myInt2) / Float(tre)
volymenSvar.text = "\(result)"

最佳答案

您的问题是您强制展开 aText 并且失败了。

aText 被定义为 Int(radien.text!) ,它可能会失败两次(radien.text! 可能会失败,并且其转换为 Int 也可能会失败)

如果将这些文本转换为 Double 以允许使用十进制数,该怎么办。此外,您应该使用条件绑定(bind),如下例所示:

在您的函数中放入以下代码:

guard let radien = radien.text, höjden = höjden.text, sidan = sidan.text else { return }

let atext: Double? = Double(radien)
let btext: Double? = Double(höjden)
let ctext: Double? = Double(sidan)

if let a = atext, b = btext, c = ctext {
let myInt = (a * a)
let tre = 3

let myInt2 = Double(myInt) * Double(M_PI) * Double(b)

let result = Float(myInt2) / Float(tre)
print("\(result)")
}

如果文本字段中没有文本,guard 语句将防止出现错误。

如果从文本到 Double 的转换失败,条件绑定(bind) (if let) 将防止崩溃

关于ios - 接受小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35434698/

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