Swift 当字符串设置为Double时,它等于nil
这就是我的问题 我正在尝试将label.text转换为双精度值(标签仅包含数字)。由于该值并不总是设置,我们将其声明为可选值,因此我使用以下方法:Swift 当字符串设置为Double时,它等于nil,swift,Swift,这就是我的问题 我正在尝试将label.text转换为双精度值(标签仅包含数字)。由于该值并不总是设置,我们将其声明为可选值,因此我使用以下方法: if let 我的代码是: if let firstvalue = Double(label1.text!){ label2.text = "\(firstvalue)" } 但是,label2.text要么返回nil,要么根本不显示任何内容。 label1的值在另一个ViewController(ViewController2)中计算。 但
if let
我的代码是:
if let firstvalue = Double(label1.text!){
label2.text = "\(firstvalue)"
}
但是,label2.text要么返回nil,要么根本不显示任何内容。
label1的值在另一个ViewController(ViewController2)中计算。
但它仍然有一个弹出的值,该值等于label1.text
我很感激你的帮助,因为我真的被困住了。
提前谢谢 试试这个
let lblval = label1.text
if let firstvalue = lblval {
label2.text = "\(firstvalue)" or label2.text = firstvalue
}
您正在尝试添加两个字符串,即lbl1.text=“55”和lbl2.text=“5”result=lbl1.test+lbl2.text。
最后您将收到结果“555”。不需要添加字符串,首先可以将其键入Double,float,这样它将给出所需的结果
示例:
let lblval1 = Double(label1.text) or Int(label1.text)
let lblval2 = Double(label2.text) or Int(label1.text)
if let firstvalue = lblval1, let secondvalue = lblval2 {
let result = firstvalue + second value
print("Addition : \(result)")
}
希望对您有所帮助。要解决此问题,请首先确保您的行号没有任何空格或字母。这与:
let num1 = String(" 2.5") //will crash
let num2 = String("2.5") //will work
你确定label1.text!返回一个数字,但它没有空格吗?我也有同样的问题;我收到的是“2.5”而不是“2.5”(注意2之前的空格).我想出来了!!正如你所说,我在数值前不小心按了空格。哈哈,真不敢相信我已经坚持了四天,这就是问题所在。非常感谢你,我自己永远也想不到!!我很乐意帮助你!我只是把它作为一个答案写下来,把它标记为正确,这样每个人都能更快地找到答案。是的,这很有效s、 问题是,因为我有多个标签要添加,所以我需要一个Double、float或Int。当我使用second value label2添加第一个值时。text显示这两个值,但不显示加法的总和。你对如何解决这个问题有什么想法吗?谢谢你的回复,它真的很有帮助!!!检查我编辑的答案。它可以做两个加法标签。问题是,我已经尝试了你的所有答案。它们似乎都很有效,因为它们不返回nil,应用程序也不会崩溃。但是,当按下按钮时,什么都不会发生,就像:if let语句没有通过,比如firstvalue不等于Double(label1.text!).再次感谢你的帮助,我非常感激!