# init(exactly:)

Creates an integer from the given floating-point value, if it can be represented exactly.

Available because

`Self`

conforms to`FixedWidthInteger`

.

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

## Parameters

- source
A floating-point value to convert to an 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 `21.0`

, while the attempt to initialize the constant `y`

from `21.5`

fails:

```
let x = Int(exactly: 21.0)
// x == Optional(21)
let y = Int(exactly: 21.5)
// y == nil
```