qt QString字符串常用转换
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~~