每次QString轉換int或者char的時候都要查資料,記錄一下,方便下次查看。
參考:
http://blog.csdn.net/ei__nino/article/details/7297791
http://www.cnblogs.com/Romi/archive/2012/03/12/2392478.html
QString 轉 char
Qstring str;
char* ch;
QByteArray ba = str.toLatin1();
ch=ba.data();
16進制的QSting轉成int
遇到例如'0xFF','0XFF'的QString
QString addr_s = ui->lineEdit_addr->text();
unsigned char addr ;
bool ok;
//判斷是否是'0x'或者'0X'開頭
if (addr_s.startsWith("0x") || addr_s.startsWith("0X"))
{
QString addr_t = addr_s.mid(2); //QString截取,從索引值為2的位置開始
addr = (unsigned char)addr_s.toInt(&ok, 16); //轉成16進制
}
else
{
// 10進制直接轉化
addr = addr_s.toInt();
}
int轉QString
long a = 63;
QString s = QString::number(a, 10); // s == "63" , 轉成10進制
QString t = QString::number(a, 16).toUpper(); // t == "3F" , 轉16進制
Tony Liu
2016-9-24, Shenzhen