QT 資料型別轉換

2021-08-25 11:33:19 字數 2520 閱讀 4497

string std_str ("abc");

qstring q_str = qstring::fromstdstring(std_str);

qstring q_str("abc");

string = q_str.tostdstring();

string std_str("abc");

char *str = std_str.c_str(std_str);

char c_str = "abcdefghijklmn";

string str = c_str;

qstring  q_str;

char* ch;

qbytearray ba = q_str.tolatin1();

ch=ba.data

();

當然,也可以通過std::string為橋梁

可以通過std::string為橋梁

qt中qstring有如下建構函式

qstring(const char * str) ,因此,可以直接將char*作為引數傳入

變數a為int型或者float,double。10和16為進製,toupper是大寫

long

a = 63;

qstring s = qstring::number(a, 10);// s == "63"

qstring t = qstring::number(a, 16).toupper();// t == "3f"

time_wov = ((double)m_wdg_wov)/27000000.0;

ui->edttcwov->settooltip(qstring::number(time_wov,10,3)+

"sec"); //結果保留三位小數

qstring str="123.45"; 

double val=str.todouble(); //val=123.45

qstring str="123.45"; 

float d=str.tofloat(); //d=123.45

if a conversion error occurs, *ok is set to false; otherwise *ok is set to true.

if base is 0, the c language convention is used: if the string begins with 「0x」, base 16 is used; if the string begins with 「0」, base 8 is used; otherwise, base 10 is used.

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

int qstring::toint(bool * ok = 0, int

base = 10) const

example:

qstring str = "ff";

bool ok;

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

int dec = str.toint(&ok, 10); // dec == 0, ok == false

定義:qstring qstring::arg ( const qstring & a, int fieldwidth = 0, const qchar & fillchar = qlatin1char( ' ' ) ) const

//example1

qstring i = "itest"; // current file

's number

qstring total = "totaltest"; //number of files to

process

qstring filename = "filenametest"; //current file

's name

qstring status = qstring("processing file %1 of %2: %3")\.arg(i).arg(total).arg(filename); //status = processing file itest of totaltest:filenametest

//example2:表示將addr和rtd_inl(addr)用8位16進製制數表示,不足8位,高位補0.

qstring("r)0x%1=0x%2")

.arg(addr,8,16,qchar('0')).arg((m_pio->_rtd_inl(addr)),8,16,qchar('0'));

QT資料型別轉換

1 char 與 const char 的轉換 char ch1 hello11 const char ch2 hello22 ch2 ch1 不報錯,但有警告 ch1 char ch2 2 char 與 qstring的轉換 char 轉換為 qstring 其實方法有很多中,我用的是 char ...

Qt 資料型別轉換

各種資料型別的相互轉換 char 與 const char 的轉換 char ch1 hello11 const char ch2 hello22 ch2 ch1 不報錯,但有警告 ch1 char ch2 char 轉換為 qstring 其實方法有很多中,我用的是 char a b qstrin...

Qt資料型別轉換

1 qstring 向qbytearray轉換 使用qstring toutf8 思路 看qstring 有沒有函式。qstring str 123 qbytearray a str.toutf8 2 qbytearray 向 char 轉換 qbytearray data 思路 看qbytearr...