# Numbers in Swift

New Courses Coming Soon

Join the waiting lists

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)
``````

→ Get my Swift Handbook

Here is how can I help you: