Swift Program to Reverse a Number

1. Introduction

Reversing numbers is a fundamental operation in many algorithmic problems and exercises. By reversing a number, we mean to transform a number like 12345 into 54321. In this guide, we will design a Swift program to reverse any given integer.

2. Program Overview

Our approach will involve converting the integer to a string, reversing the string, and then converting the reversed string back into an integer. This method allows for simplicity and clarity in our code.

3. Code Program

// Sample number to reverse
let originalNumber = 12345

// Convert the number to a string
let numberString = String(originalNumber)

// Reverse the string
let reversedString = String(numberString.reversed())

// Convert the reversed string back to an integer
if let reversedNumber = Int(reversedString) {
    print("Original Number: \(originalNumber)")
    print("Reversed Number: \(reversedNumber)")
} else {
    print("Error: Unable to reverse the number.")


Original Number: 12345
Reversed Number: 54321

4. Step By Step Explanation

1. let originalNumber = 12345: We initialize an integer originalNumber with the value 12345 as our sample number to reverse.

2. let numberString = String(originalNumber): Convert the integer into a string. By doing this, we can harness Swift's built-in string manipulation methods.

3. let reversedString = String(numberString.reversed()): Swift offers the reversed() method for strings which returns a reversed version of the original string. We wrap this reversed version in a String initializer to convert the reversed sequence back into a string.

4. Finally, we aim to convert the reversed string back into an integer using optional binding. The reason for the optional binding (if let) is the Int initializer's potential to return nil (in cases where the string doesn't represent a valid integer, which shouldn't occur here but is a good practice to account for). If successful, the program prints out both the original and reversed numbers. If there's an error, a suitable message is displayed.