c 型別轉換相關

2021-10-03 11:16:22 字數 1529 閱讀 5182

2.1 qstring 轉 char*

示例如下:

char *charp;

qstring str = "hello";

charp = str.tolatin1().data();

其中 tolatin1() 轉換為 qbytearray 型別後,再用 data() 將 qbytearray 型別的字串轉換成 char* 型別。

2.2 char* 轉 qstring

示例如下:

char *charp = "hello";

qstring str = qstring(charp);

2.3 qstring 轉 int/double 等數值型別

toint() 函式原型如下:

int toint(bool *ok=0, int base=10) const;

引數1 ok 表示轉換是否成功,成功則 ok 為 true,失敗則 ok 為 false。引數2 base 表示轉換進製,預設為10進製。如果是預設10進製,而字串非純數字,最終轉換int的結果為0。對於16進製制同理。

示例如下:

qstring str1 = "ff";

qstring str2 = "23";

qstring str3 = "12.3";

bool ok = false;

int hex = str1.toint(&ok,16); // hex == 255, ok == true

int dec = str2.toint(); // dec == 23, ok == true

float fnum = str3.tofloat(); // fnum == 12.3, ok == true

2.4 int/double 等數值型別 轉 qstring

int/double 型別轉換 qstring 型別,使用 qstring::number() 函式;

第乙個引數為:需要轉換的int/double資料;第二個引數為:基數。10, 2, 8等;第三個引數為:精度;

int num = 15;

double doubleval = 15.23;

qstring strdec = qstring::number(num); // strdec == "15"

qstring strhex = qstring::number(num,16).toupper(); // strhex == "f"

qstring strdouble = qstring::number(doubleval, 10, 2); // strdouble == "15.23"

toupper() 可以將小寫字母轉換為大寫字母。也可以使用 setnum() 函式,示例如下:

qstring str1,str2;

str1.setnum(20);

str2.setnum(12.3);

qdebug() << str1; //returns "20"

qdebug() << str2; //returns "12.3"

mysql型別轉換c 型別轉換 C 型別轉換

一 簡介 型別轉換 把資料從一種型別轉換另一種型別 我們要求等號兩邊參與運算子必須型別一致,如果不一致,滿足下列條件會發生自動型別轉換或者隱式型別轉換。1.兩種型別相容 例如 int和double 相容 都是數字型別 2.目標型別大於源型別 double int 顯示型別轉換 1.兩種型別相相容 i...

NSData相關型別轉換

1.nsdata 與 nsstring nsdata nsstring nsstring astring nsstring alloc initwithdata adata encoding nsutf8stringencoding nsstring nsdata nsstring astring ...

轉換相關 c

將檔案返回為字串 檔案路徑 檔案編碼方式 webmethod public string bytetostring byte tempbyte,string encodingname private byte getbytes stream stream mstream.write bytes,0,...