This tutorial belongs to the Swift series

In Swift, numbers have 2 main types: Int and Double.

An Int is a number without decimal point. A Double is a number with decimal point.

Both use 64 bits, on modern computers that work with 64 bits, and 32 bit on 32-bit platforms.

The range of values they can store depends on the platform used, and can be retrieved using the int property of each type:

Then, in addition to Int and Double, we have lots of other numeric types, mostly used to interact with APIs built in the past and that needed to interact with C or Objective-C, and you must be aware that we have them:

• Int8 is an integer with 8 bits

• Int16 is an integer with 16 bits

• Int32 is an integer with 32 bits

• Int64 is an integer with 64 bits

• UInt8 is an unsigned integer with 8 bits

• UInt16 is an unsigned integer with 16 bits

• UInt32 is an unsigned integer with 32 bits

• UInt64 is an unsigned integer with 64 bits

UInt is like Int, but unsigned, and it ranges from 0 to Int.max * 2.

Float is a decimal number with 32 bits.

Then using Cocoa APIs you might use other numeric types like CLong, CGFloat, and more.

You will always use Int or Double in your code, and use those specific types to particular cases.

Any of those types can always be converted to Int and Double types, instantiating a number passing the value inside parentheses to Double() or Int():

let age : UInt8 = 3
let intAge = Int(age)


You can also convert a number from Double to Int:

let age = Double(3)
let count = Int(3.14)