QT之QString、string、int、float、double、char*格式转换

一、String和QString

1、String转QString

string str;
str = "转换!";
QString Qstr;
Qstr = QString::fromLocal8Bit(str.c_str());

2、QString转string

QString Qstr = "123456";
string str;
str = Qstr.toStdString();

二、QString 和int

1、int、float、double转QString (以int为例)

int num= 6;
QString strnNum;
strnNum = QString::number(num);

2、QString转int

QString str("10");

int tmp = str.toInt();

三、QString 和float

1、QString 转float如QString转int 一样
2、float转String(不控制精度)

float score = 123.01354653;
stringstream strstring;
strstring << score;
string score1;
score1 = strstring.str();

3、float转String(控制精度)

float num = 12.16574681354;
char word[10];
sprintf(word, "%0.4f", num);//控制四位小数
string str2;
str2 = word;

四、QString 和char*

1、QString转char*,先将QString转换成string,再将string转换成char*

QString  qstr;
string str = qstr.toStdString();
char* ch = str.c_str();

2、char*转QString

char* ch = "test";
QString qstr=QString(QLatin1String(ch));

本文是学习过程中遇到的转换问题,不想每次用,每次都查,所以这里进行了一个总结记录,参考的文献就没有一一列举了。


版权声明:本文为qq_42570058原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。