參考:
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...