簡體   English   中英

Swift 2從字符串轉換為數字

[英]Swift 2 Converting from String To Number

我正在跟蹤用於iOS開發的斯坦福視頻,並且正在將Xcode 7Swift 2 我逐行從視頻中編寫了代碼,但是仍然出現錯誤。

import UIKit

class ViewController: UIViewController
{

@IBOutlet weak var display: UILabel!

var userIsTyping = false

@IBAction func AppendDigit(sender: UIButton) {
    let digit = sender.currentTitle!
    if userIsTyping {
        display.text = display.text! + digit
    } else {
        display.text = digit
        userIsTyping = true
    }
}

var operandStack = Array<Double>()

@IBAction func enter() {
    userIsTyping = false
    operandStack.append(displayValue)
}

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

    }
}


}

在我返回的那條線上

NumberFormatter().numberFromString(display.text!)!.doubleValue

我得到一個錯誤

線程1:EXC_BAD_INSTRUCTION(代碼= EXC_1386_INVOP,子代碼= 0x0)

轉換可能會失敗。 結果可以為零。 “!” 表示“編譯器,我100%肯定結果永遠不會為零,所以如果結果永遠為零,請崩潰”。 猜猜是什么,有時是零。

使用“如果讓”。

PS。 我認為采用用戶界面元素(例如按鈕的標題)並假設它們具有某些值是非常非常不健康的。

您最好用更簡單的方法代替該return語句:

return Double(display.text!)!

讓Number =(NSNumberFormatter()。numberFromString(xtxt.text!)as!Double

 return Number

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM