在c++的表示式中,不同的資料型別會自動地轉換型別進行運算,但有的時候也需要程式設計師自己進行強制型別轉換,將某個表示式轉換成自己所需要的資料型別。
強制型別轉換的一般形式為
(型別名)
(表示式)
如果進行強制型別轉換的物件是乙個變數,則該變數的括號可以省略;如果要進行強制轉換的物件是乙個包含多項的表示式,則應該用小括號括起來表示式
比如
(
int)
(a+b)
;//將a+b的值轉換成整型
(float)(
7%3)
;//將7%3的值轉換成float型
(double
) x;
//將x轉換成double型別
如果讀者,看過小林之前推送c語言的文章,會發現c++的強制型別轉換和c語言一樣,因為c++編寫者將c語言的優點保留了下來,除此之外c++還特別增加了
型別名 (表示式),型別名不加括號,但是變數或者表示式用括號括起來
int
(a);
float(7
%3);
案例:將浮點型變數3.3轉換為整型變數並輸出。
#include
using
namespace std;
intmain()
//主函式
執行本程式之後,則會輸出3.3 3。
在強制型別轉換時,會得到乙個中間變數,原來變數的型別未發生變化,但是如果從高精度向低精度轉換時,會丟失精度。
c++實現將3.3轉換為整型輸出
將整型資料轉換為string型別
將整型資料轉換為string型別 在進行 資料處理的時候,遇到資料型別轉換的問題。因為string型別過載了 等操作符,處理資料起來比較方便,但是有些時候需要將其他型別的資料加到string型別中,這就出現了其他型別轉換為string型別的問題。要實現int 等型別轉換為string型別,首先要用系...
C 強制型別轉換
四種型別可能很多人都常常忽略就象我一樣,但是有時還是比較有用的。不了解的建議看看,一些機制我也不是十分了解,只是將一些用法寫出來讓大家看看。強制轉化無論從語法還是語意上看,都是c 中最難看的特徵之一。但是基於c風格的轉化的語義的不明確性及其一些潛在問題。強制型別轉化最終還是被c 接受了。1.stat...
C 強制型別轉換
標準c 中主要有四種強制轉換型別運算子 const cast,reinterpret cast,static cast,dynamic cast等等。1 static cast a 將位址a轉換成型別t,t和a必須是指標 引用 算術型別或列舉型別。表示式static cast a a的值轉換為模板中...