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