QString str = "";
char *p = "QChar *";
str.sprintf("this is QString obj = %s",p); //%s 格式化标志的用法同C++
qDebug()<<str;
bool isOk;
str = "100.099";
float f = str.toFloat(&isOk);
qDebug()<<"float:"<<f<<"isOk:"<<isOk;
int nData = f;
qDebug()<<"float->int :"<<nData;
str = QString("%1").arg(nData); //使用arg函数的好处,类型安全,完全支持Unicode,并且允许改变“%n”参数的顺序
int dec = str.toInt(&isOk,10);
qDebug()<<"int dec:"<<dec<<"isOk:"<<isOk;
int hex = str.toInt(&isOk,16);
qDebug()<<"int hex:"<<hex<<"isOk:"<<isOk;
long l = str.toLong(&isOk);
qDebug()<<"long:"<<l<<"isOk:"<<isOk;
str = "I am char* test.";
QByteArray ch = str.toLocal8Bit();
char* pp = ch.data();
qDebug()<<"char* pp:"<<pp;
char det[64];
strcpy(det,pp);
qDebug()<<"char* det:"<<det;
strcat(det," strcat");
qDebug()<<"char* det:"<<det;
Qt字符串转换常有函数:
1.toLatin1():返回一个Latin-1(ISO8859-1)编码的8位字符串;
2.toUtf8():返回一个UTF-8的8位字符串;
3.toLocal8Bit():返回一个系统本地编码的8位字符串;