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