QString学习笔记

  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位字符串;
posted @ 2019-02-19 13:51  Forward_Forever  阅读(291)  评论(0编辑  收藏  举报