Swift version: 5.10
If you have an integer hiding inside a string, you can convert between the two just by using the integer's initializer, like this:
let myString1 = "556"
let myInt1 = Int(myString1)
Because strings might contain something that isn’t a number – e.g. “Fish” rather than “556” – the Int
initializer will return an optional integer, so if you want to force a value you should use nil coalescing like this:
let myInt2 = Int(myString) ?? 0
That means “attempt to convert myString
to an integer, but if the conversion failed because it contained something invalid then use 0 instead.”
As with other data types (Float
and Double
) it’s also possible to convert by using NSString
if you’re desperate:
let myInt3 = (myString1 as NSString).integerValue
Ideally, though, that shouldn’t needed.
SPONSORED Get accurate app localizations in minutes using AI. Choose your languages & receive translations for 40+ markets!
Sponsor Hacking with Swift and reach the world's largest Swift community!
Available from iOS 7.0
This is part of the Swift Knowledge Base, a free, searchable collection of solutions for common iOS questions.
Link copied to your pasteboard.