浮點數轉換
浮動類型的物件可以安全地轉換為更精確的浮動類型,也就是說,轉換時不會遺失精確度。 例如,從 float 轉換到 double,或從 double 轉換到 long double 是安全的,因此其值不變。
如果其範圍可由該類型表示,則浮動類型的物件可以轉換為較不精確的類型。(如需浮動類型的範圍,請參閱浮動限制)。如果無法精確地表示原始值,可以將它轉換為下一個較高或下一個較小的可表示值。 如果這個值不存在,則結果會是未定義。 參考下列範例:
cout << (float)1E300 << endl;
float 類型可以表示的最大值為 3.402823466E38,它是比 1E300 小很多的數字。 因此,該數字會轉換為無限大,而結果會是 1.#INF。