Swift,将字符串转换为双精度错误

Swift, Convert String To Double Error

我写了一个代码将字符串转换为双精度但给出了错误:

无法将表达式的类型 'Double' 转换为类型 'NSString'

我的代码是:

var first = previewLable.text
var second = label1.text

var number1: Double = (first as NSString).doubleValue
var number2: Double = (second as NSString).doubleValue

我需要做什么来修复这个错误???

谢谢

你只需要像这样打开它:

var number1: Double = (first! as NSString).doubleValue
var number2: Double = (second! as NSString).doubleValue

或者你可以使用这种安全的方式:

if let first = previewLable.text, second = lable1.text{
    var number1: Double = (first as NSString).doubleValue
    var number2: Double = (second as NSString).doubleValue
}

有关 ?! 的信息请阅读 this

此外,如果您在 Swift 2,您可以使用

Double("3.141592")

它给出了一个 Optional Double,这取决于它是否可以被解析

Double("hi")

会给nil