Make NSNumberformatter()。numberFromString返回一个可选项

时间:2015-02-19 06:00:08

标签: calculator optional nsnumberformatter

我对swift很新。只是想知道如何将以下代码转换为可选代码。

var displayValue:  Double {
    get {
        return NSNumberFormatter().numberFromString(display.text! as NSString)!.doubleValue
         }
    set {
        display.text = "\(newValue)"
        userIsInTheMiddleOfTypeingANumber = false
    }
}

这是来自斯坦福计算器讲座系列。讲师没有说明如何使其成为可选项。我的理解是,当displayValue中有一个字符串无法转换为Double(如" Error")时,应用程序崩溃。问题是displayValue需要显示可以在不同时间转换为Double的字符串。

我之前已经问过类似的问题,但我找不到明确的答案。

由于

1 个答案:

答案 0 :(得分:1)

无需让它返回可选项。您可以使用nil coalescing运算符在nil的情况下返回0,如下所示:

return (NSNumberFormatter().numberFromString(display.text) as? Double) ?? 0