Formatting Numbers into Words in Swift


Greetings, traveler!

In iOS development, creating a user-friendly interface often involves presenting data in a way that is intuitive and visually appealing. One such task is formatting numbers into words, which can enhance the readability of your application. This article will explore how to convert numbers to their word equivalents using NumberFormatter easily.

Example

Let’s examine the example. We can do this using a computed property and Int extension. Here, we can create a NumberFormatter and set its numberStyle property value to spellOut.

extension Int {
    var asWords: String {
        let numberFormatter = NumberFormatter()
        numberFormatter.numberStyle = .spellOut
        return numberFormatter.string(from: NSNumber(value: self)) ?? ""
    }
}

Now, we can create a SwiftUI View and implement the generated text here.

struct ExampleView: View {
    
    @State var number: Int = 352
    
    var body: some View {
        Text(number.asWords) // three hundred fifty-two
    }
}

Conclusion

Using NumberFormatter to convert numbers into words is a straightforward yet powerful way to enhance the presentation of numeric data in your iOS applications. Whether you’re developing a financial app or an educational tool or want to improve your app’s accessibility, this approach provides a clean and effective solution.