目录
Int,Long,Double转QString(十进制、十六进制)
16进制(QString)转为10进制
QString str="FF";
bool ok;
int dec=0;
dec=str.toInt(&ok,16);//表示从16进制转为十进制 dec=255,ok=true
使用toInt()函数,第二个参数表示当前数的进制数。
10进制转16进制(QString)
QString str;
int dec=10;
str=QString("%1").arg(dec, 4, 16, QLatin1Char('0'));//从十进制转16进制,保留4位;
第二个参数表示保留几位,第三个参数表示转为几进制。
ASCII转十六进制
int dec;
char st;
QString str_ascii,str_hex;
dec=str_ascii.toInt(0,16);//将ASCII码当作十六进制转十进制
st=dec;//十进制用char类型标识,直接转为十六进制
str_hex.append(QString(st));//转为十六进制的字符串(可拼接)
Int,Long,Double转QString(十进制、十六进制)
使用QString::number(),第二个参数表示转为几进制,第三个参数表示精度。
long a = 63;
QString s = QString::number(a, 10); // s == "63"
QString t = QString::number(a, 16).toUpper(); // t == "3F"
double c = float(a) / float(b) ;
QString d = QString::number(c,10,4);
QString转int、double、float、long
使用QString的函数

QString转char*
QString qstr("hello,word");
const char * p = qstr.toLocal8Bit().data(); //方法1
const char *p = qstr.toStdString().data(); //方法2
QString转QByteArray
QString str("hello");
QByteArray bytes = str.toUtf8(); //方法1 UTF-8编码
//.toUtf8()是本地操作系统设置的字符集编码
QString str("hello");
QByteArray bytes = str.toLatin1();//方法2 ASCII编码(不包含中文)
QByteArray转QString
QByteArray bytes("hello world");
QString string = bytes; //方法1
QByteArray bytes("hello world");
QString string;
string.prepend(bytes); //方法2
//prepend()表示在开头位置插入
//append()表示在末尾位置插入
本文详细介绍了在Qt中使用QString进行不同进制转换的方法,包括16进制到10进制,10进制到16进制,ASCII值转换,以及Int、Long、Double与QString之间的相互转换。还涉及了QString与char*及QByteArray的转换操作。
1471

被折叠的 条评论
为什么被折叠?



