# init(exactly:)

Creates a new instance from the given integer, if it can be represented exactly.

Available because

`Self`

conforms to`SignedInteger`

.Available when

`Self`

conforms to`FixedWidthInteger`

`init?<T>(exactly source: T) where T : BinaryInteger`

## Parameters

- source
A value to convert to this type of integer.

## Overview

If the value passed as `source`

is not representable exactly, the result is `nil`

. In the following example, the constant `x`

is successfully created from a value of `100`

, while the attempt to initialize the constant `y`

from `1_000`

fails because the `Int8`

type can represent `127`

at maximum:

```
let x = Int8(exactly: 100)
// x == Optional(100)
let y = Int8(exactly: 1_000)
// y == nil
```