Qt中 QString 和 int char char*等相互转换

 

在编写Qt程序过程中经常遇到各种数据类型的转换,故此写下来方便自己和大家的查找。叮!!!

 

1.QString to char*

 

    QString qstr = "hello";

    char* c_char;

    QByteArray qba = qstr.toLatin1();

    c_char = qba.data();

    使用c语言写的客户端,使用Qt写的服务器,还使用到了c 的fork()函数。

 

 2.char* to QString

 

     char* c_char = "world";

     QString qstr = QString(QLatin1String(c_char));

     补充: 

            unsigned char chSerialNumber[16];

            invalid conversion from 'unsigned char*' to 'const char*'          

      QString::fromUtf8((char *)chSerialNumber)

 

3.int ,float ,double to QString

①正规

 

    int num = 79;

    float fnum = 79.99;

    QString qnum = QString::number(num);  //默认为十进制转换,其他进制转换需显示指定

    QString qnum = QString::number(fnum); 

    QString qhex = QString::number(num,16).toUpper();  //十六进制大写  qhex = 4F

 

②奇淫巧技~  QString  arg 的用法

 

     int num = 79;

     QString str = "hello world!";

     QString qstr = QString("%1%2").arg(num).arg(str);

 

4.QString to float double int

 

     QString qint = "100";

     QString qfloat = "100.0";

 

     int intNum = qint.toInt();

     float floatNum = qfloat.toFloat();

 

5.QString与QDateTime之间的转换(这个是附赠的)

    QString strtime;

    QDateTime time;

 

    time = QDateTime::currentDateTime();   //要包含头文件

 

    strtime = time.toString("yyyy-MM-dd hh:mm:ss");

    // strtime = "2019-05-16 19:54:17"

 

欢迎大家关注我的公众号:

 

Qt中 QString 和 int char char*等相互转换_第1张图片

你可能感兴趣的:(Qt,资料)