2015-11-18 11 views
10

Ich möchte den String-Wert, den ich von einem Textfeld bekomme, in einen Double-Wert konvertieren und speichern, aber ich erhalte den Fehler, dass er keinen Initializer für Typ Double findet, der akzeptiert ein Argument List Typ von (String). Wie behebe ich dieses Problem?Konnte keinen Initialisierer für den Typ Double in Swift finden

@IBOutlett weak var tempText: UITextField! 
@IBAction func convertBtn(sender: AnyObject){ 
    let t = Double(tempText.text!) 
    let temp = TempCoverterModel(temp:t!) 
    tempText.text = String(temp.toCelsius()) 
} 

Antwort

1

Wenn Sie einen String mit dem Namen temp, sollten Sie in der Lage sein

(temp as NSString).doubleValue 

zu verwenden, um in einem Double Wert zu konvertieren.

2

Verwenden Sie ein NSNumberFormater:

let formatter = NSNumberFormatter() 
let t = formatter.numberFromString(tempText.text!)!.doubleValue 
+0

Danke, das hat funktioniert! – Ashley

Verwandte Themen