Qt資料型別轉換大全

2021-08-14 14:09:57 字數 2568 閱讀 6085

參考:

qt中資料型別的轉換很常用,於是邊使用邊記錄,有不完整的,後邊再慢慢補充完善

qt中 int ,long轉換為qstring

有兩種方法

1、使用qstring::number(),如:

long a = 63;  

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

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

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

2、使用格式化,如:

long a = 63;  

qstring s = qstring("%1").arg(a);

第一種方法更常用些

float,double轉換為qstring

double c = float(a) / float(b) ;

qstring d = qstring::number(c,10,4);

其中第三個引數表示精度

把qstring轉換為 double型別

方法1:

qstring str="123.45";  

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

方法2:

bool ok;  

double d;

d=qstring("1234.56e-02").todouble(&ok); //ok=true;d;12.3456.

方法2很適合科學計數法形式轉換

把qstring轉換為float型

和double類似,有兩種方法

方法1:

qstring str="123.45";  

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

方法2:

qstring str="r2d2";  

bool ok;

float d=str.tofloat(&ok); //轉換是被時返回0.0,ok=false;

把qstring型轉換為整型

轉換為十進位制整型,注意:基數預設為10,並且基數必須在2到36之間。如果基數為0,若字串是以0x開頭的就會轉換為16進製制,若以0開頭就轉換為八進位制,否則就轉換為十進位制。

qstring str="ff";  

bool ok;

int dec=str.toint(&ok,10); //dec=255 ; ok=rue

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

把qstring轉換為char*型

方法一:

qstring qstr("hello,word");  

const char * p = qstr.tolocal8bit().data();

方法二:

const char *p = qstr.tostdstring().data();
把qstring與string相互轉換

//從qstring 到 std::string

str = qstr.tostdstring();

//從std::string 到qstring

qstr = qstring::fromstdstring(str);

把qstring轉換為qbytearray型

qstring str("hello");  

qbytearray bytes = str.toutf8(); // qstring轉qbytearray方法1

qstring str("hello");

qbytearray bytes = str.tolatin1(); // qstring轉qbytearray方法2

把qbytearray轉換為qstring型

qbytearray bytes("hello world");

qstring string = bytes; // qbytearray轉qstring方法1

qbytearray bytes("hello world");

qstring string;

string.prepend(bytes);// qbytearray轉qstring方法2

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 資料型別轉換

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 st...