NEW: Master Swift design patterns with my latest book! >>

How to split an integer into an array of its digits

Written by Paul Hudson    @twostraws

You can take any integer number and convert it to array of integer digits using this extension:

extension BinaryInteger {
    var digits: [Int] {
        return String(describing: self).compactMap { Int(String($0)) }
    }
}

That’s a protocol extension, so you should be able to call it using Int, UInt64, Int8, and so on.

Available from iOS 8.0

Did this solution work for you? Please pass it on!

Other people are reading…

About the Swift Knowledge Base

This is part of the Swift Knowledge Base, a free, searchable collection of solutions for common iOS questions.

Love Hacking with Swift?

Get all 40 projects in PDF and HTML: buy the Hacking with Swift book! It contains over 1300 pages of hands-on Swift coding, and will really help boost your iOS career

Click here to visit the Hacking with Swift store >>