Next: floatp, Previous: decode-float; scale-float; float-radix; float-sign; float-digits; float+, Up: Numbers

`number`—a *real*.

`prototype`—a *float*.

`float`—a *float*.

`float`

converts a
*real*
number to a *float*.

If a `prototype` is supplied,
a *float* is returned that is mathematically equal to `number`
but has the same format as `prototype`.

If `prototype` is not supplied,
then if the `number` is already a *float*, it is returned;
otherwise, a *float* is returned that is mathematically equal to `number`
but is a *single float*.

(float 0) → 0.0 (float 1 .5) → 1.0 (float 1.0) → 1.0 (float 1/2) → 0.5 → 1.0d0 or→ 1.0 (eql (float 1.0 1.0d0) 1.0d0) →true