所以这是我的问题。
我试图将label.text转换为Double值(标签只包含数字。)由于值并不总是设置,我们将其声明为可选值,因此我使用方法:
if let
我的代码是:
if let firstvalue = Double(label1.text!){
label2.text = "\(firstvalue)"
}
但是,label2.text要么返回nil,要么根本不显示任何内容。 label1的值在另一个ViewController(ViewController2)中计算。 但它仍然有一个弹出的值,等于label1.text。
我很感激任何帮助,因为我真的被困住了。 提前致谢!
答案 0 :(得分:0)
试试这个
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,浮动所以它会给出所需的结果
示例:
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)")
}
希望它对你有所帮助。
答案 1 :(得分:0)
要解决这个问题,首先要确保你的steing没有任何空格或字母。这不一样:
let num1 = String(" 2.5") //will crash
let num2 = String("2.5") //will work