Qt中QString类型与标准c++数据类型的转换

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Horizonhui/article/details/79152746

在编写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; 




展开阅读全文

没有更多推荐了,返回首页