在编写Qt程序的时候,会发现QString类型的使用率是极高的,但是它和c++标准类型之间并没有完美兼容,好在Qt为我们提供了很多方法来进行这些数据类型之间的转化。
1、首先是int 、float、 long 、double等转化为QString类型:
long a = 15;
QString s = QString::number(a, 10); // s == "15"
QString t = QString::number(a, 16).toUpper(); // t == "F"
toUpper是转化成大写,a就是待转化的long类型的数据,后面的一个参数是进制 数,还有一种我个人不常用的方法
long a = 63;
QString s = QString("%1").arg(a);
2、将float double int 转化为QString,用的是QString类中提供的方法
QString str="1.23";
double val=str.toDouble(); //val=1.23
bool ok;
double val;
val=QString("1234.56e-02").toDouble(&ok); //ok=true;val;12.3456.
QString str="123.45";
float val=str.toFloat(); /val=123.45
QString转化为整形
Qstring str="FF";
bool ok;
int dec=str.toInt(&ok,10); //dec=255 ; ok=rue
int hex =str.toInt(&ok,16); //hex=255;ok=true;