Ashley
Ashley

Reputation: 225

Cannot find an initializer for type Double in Swift

I would like to convert the String value I get from a text field into a Double value and store it but I keep getting the error that it cannot find an intializer for type Double that accepts an argument list type of (String). How do I fix this issue?

 @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())
}

Upvotes: 10

Views: 127

Answers (2)

hiimcg
hiimcg

Reputation: 121

If you have a String named temp, you should be able to use

(temp as NSString).doubleValue 

to convert into a Double value.

Upvotes: 1

Code Different
Code Different

Reputation: 93161

Use an NSNumberFormater:

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

Upvotes: 2

Related Questions