[conv.double]

# 7 Expressions [[expr]](./#expr)

## 7.3 Standard conversions [[conv]](conv#double)

### 7.3.10 Floating-point conversions [conv.double]

[1](#1)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/expressions.tex#L967)

A prvalue of floating-point type can be converted to a prvalue of
another floating-point type
with a greater or equal conversion rank ([[conv.rank]](conv.rank "6.9.6 Conversion ranks"))[.](#1.sentence-1)

A prvalue of standard floating-point type can be converted to
a prvalue of another standard floating-point type[.](#1.sentence-2)

[2](#2)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/expressions.tex#L975)

If the source value can be exactly
represented in the destination type, the result of the conversion is
that exact representation[.](#2.sentence-1)

If the source value is between two adjacent
destination values, the result of the conversion is animplementation-defined choice of either of those values[.](#2.sentence-2)

Otherwise, the behavior is undefined[.](#2.sentence-3)

[3](#3)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/expressions.tex#L983)

The conversions allowed as floating-point promotions are excluded from
the set of floating-point conversions[.](#3.sentence-1)
