常用數據類型轉換

數據類型轉換

//1 QString與int相互轉換
QString qstr = QString::number(123);
int i = qstr .toInt();

//2 QString與string,即std::string
string str = qstr.toStdString();
QString qstr2 = QString::fromStdString(str);

//3 string類型轉換成char[]類型
char savePicName[20];
for (int j = 0; j < str.length(); j++)
savePicName[j] = str[j];

//4 QString 轉換爲 char
QString str=“abc”;
char *ch;
ch = str.toLatin1.data();

//5 Qstring 轉換char*問題!
QString qstr(“hello,word”);
const char * p = qstr.toLocal8Bit().data();
const char *p = qstr.toStdString().data();
轉換過來的是常量

//6 QString 轉換爲 Double
QString str=“123.45”;
double val=str.toDouble(); //val=123.45

**//7 QByteArray 轉換爲 char ***
char *ch;//不要定義成ch[n];
QByteArray byte;
ch = byte.data();

//8 char * 轉換爲 QByteArray
char *ch;
QByteArray byte;
byte = QByteArray(ch);

//9 QString 轉換爲 QByteArray
QByteArray byte;
QString string;
byte = string.toLocal8Bit(); 或byte = string…toLatin1();

//10 QByteArray 轉換爲 QString
QByteArray byte;
QString string;
string = QString(byte);

//轉QString
long a =63;
QString str=QString::number(a,16); //str=“3f”;
QString str=QString::number(a,16).toUpper(); //str=“3F”;

把當前時間轉化爲QString…
QString nowDate = QDateTime::currentDateTime().toString(“yyyy.MM.dd-hh:mm”);
QDateTime qdate = QDateTime.currentDateTime();
datetime = qdate.toString(“yyyy年MM月dd日ddddhh:mm:ss”);

QByteArray 和 QString 互轉有無數種方式
如果你QByteArray中的字符不可控,而且QString只是箇中轉,只是爲了稍後能轉回QByteArray,
如果QByteArray中字符不可控,先轉成可控字符明顯更簡單,比如通過:QByteArray::toHex() 和 fromHex(),或者 fromBase64() 和 toBase64()
如:
QByteArray byteArray;
QString st r= QString::fromLatin1(byteArray.toHex())

發佈了18 篇原創文章 · 獲贊 4 · 訪問量 3068
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章