Search code examples
swiftstringcastingdouble

Swift double to string


Before I updated xCode 6, I had no problems casting a double to a string but now it gives me an error

var a: Double = 1.5
var b: String = String(a)

It gives me the error message "double is not convertible to string". Is there any other way to do it?


Solution

  • It is not casting, it is creating a string from a value with a format.

    let a: Double = 1.5
    let b: String = String(format: "%f", a)
    
    print("b: \(b)") // b: 1.500000
    

    With a different format:

    let c: String = String(format: "%.1f", a)
    
    print("c: \(c)") // c: 1.5
    

    You can also omit the format property if no formatting is needed.