Partager via


Conversions de nombres à virgule flottante

Un objet de type flottant peut être converti sans risque en type flottant plus précis. Cela permet de ne pas perdre de signification lors de la conversion. Par exemple, les conversions de float à double ou de double à long double sont sécurisées, et la valeur reste inchangée.

Un objet de type flottant peut également être converti en type moins précis, s'il se trouve dans une plage qui peut être représentée par ce type. (Consultez Limites de flottement pour les plages des types flottants.) Si la valeur d'origine ne peut pas être représentée précisément, elle peut être convertie à la valeur représentable inférieure ou supérieure suivante. Si aucune valeur de ce type n'existe, le résultat n'est pas défini. Prenons l'exemple suivant :

cout << (float)1E300 << endl;

La valeur maximale représentable par le type float est 3.402823466E38. Il s'agit d'un nombre largement inférieur à 1E300. Par conséquent, le nombre est converti à l'infini et le résultat est 1.#INF.

Voir aussi

Référence

Conversions standard