qt QString字符串常用转换

本文详细介绍了QString在C++中的各种类型转换,包括从constchar*、QChar数组、数字到QString,以及QString与QByteArray、QDateTime之间的相互转换,展示了常用函数如toInt(),setNum(),fromString(),toString()的用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

QString字符串转换类型,常见的有:

1.

const char*初始化QString.即const char*类型转QString字符串类型.
    QString str("肖战");
    qDebug() <<str;

2.

QChar数组初始化QString.即QChar字符数组转QString字符串.
    QChar cHello[5] = {'H','e','l','l','o'};
    QString strHello(cHello,5);//用cHello初始化strrrHello.
    qDebug()<<strHello;
    qDebug()<<sizeof(QChar)<<sizeof(char);//字节2,使用的是16进制的Unicode二进制编码;字节1

3.

QString字符串转数字int,float,double.使用toInt() toFloat() toDouble()函数操作.
    QString strAge("18");
    QString strPI("3.14");
    int nAge = strAge.toInt();
    float fPI = strPI.toFloat();
    double dPI = strPI.toDouble();

4.

数字number转QString字符串.数字转QString字符串可2种方式,使用number() setNum()转换.
    int year = 1949;
    int year1 = 2020;
    float height = 1.83f;
    float width = 6.6f;

    QString strYear;
    QString strYear1;
    QString strWidth;

    QString strHeight = strHeight.number(height);
    //strYear = strYear.number(year);         //方式1,使用number()
    strYear = strYear.setNum(year);           //方式2,使用setNum();
    strYear1 = strYear1.setNum(year1);
    strWidth = strWidth.setNum(width);

5.

const char* 转QString.
这种方式和第1种一致,只是第一种的方式QString类的构造函数形参是用了const char*类型. 这种就是直接的传进来了const char*类型的字符串"hello worrld".
官方文档的构造函数是: QString::QString(const char *str);
    const char* hi = "hello world!";
    QString strHi(hi);
    qDebug() <<strHi;

6.

QString转字节数组QByteArray(里面存的是一个一个字节),使用toUtf8()函数接口.
QString转字符const char*,使用data()函数接口.
    QString strTom = "Tom";
    QByteArray tomArray = strTom.toUtf8(); //返回的就是QByteArray.
    const char* cTom = tomArray.data();    //返回的就是const char*

7.

QString转时间QDateTime.
QDateTime类提供日期和时间函数(官文:The QDateTime class provides date and time functions.)使用fromString()函数接口实现.传入QString类型字符串,同时还要指定格式.
    QString strTime = "1949-10-01 10:00:00";
    //fromString()返回的是一个日期QDateTime. 指定格式: 年/月/日/ 时/分/秒
    QDateTime dtTime = QDateTime::fromString(strTime,"yyyy-MM-dd hh:mm:ss");

8.

QDateTime转QString类型字符串.使用函数接口toString().需指定格式.
    QDateTime dtCurrent = QDateTime::currentDateTime();//获取当前时间
    QString strCurrent = dtCurrent.toString("yyyy-MM-dd hh:mm:ss");//返回QString,同时指定格式

all~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值