Convert Int to String in Swift

i0S Swift Issue

Question or problem with Swift language programming:

I’m trying to work out how to cast an Int into a String in Swift.

I figure out a workaround, using NSNumber but I’d love to figure out how to do it all in Swift.

let x : Int = 45
let xNSNumber = x as NSNumber
let xString : String = xNSNumber.stringValue

How to solve the problem:

Solution 1:

Converting Int to String:

let x : Int = 42
var myString = String(x)

And the other way around – converting String to Int:

let myString : String = "42"
let x: Int? = myString.toInt()

if (x != nil) {
    // Successfully converted String to Int
}

Or if you’re using Swift 2 or 3:

let x: Int? = Int(myString)

Solution 2:

Check the Below Answer:

let x : Int = 45
var stringValue = "\(x)"
print(stringValue)

Solution 3:

Here are 4 methods:

var x = 34
var s = String(x)
var ss = "\(x)"
var sss = toString(x)
var ssss = x.description

I can imagine that some people will have an issue with ss. But if you were looking to build a string containing other content then why not.

Solution 4:

In Swift 3.0:

var value: Int = 10
var string = String(describing: value)

Solution 5:

Swift 4:

let x:Int = 45
let str:String = String(describing: x)

Developer.Apple.com > String > init(describing:)


The String(describing:) initializer is the preferred way to convert an instance of any type to a string.

Custom String Convertible

enter image description here

Hope this helps!