Qt中整形数组转换成字符串的问题

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

应项目的要求终于在一天中学会了把整型数组转换成QString,也算是小有成就的一天了。由于还没发现怎么直接把整型数组转换成string类型,但是可以通过间接的方法来实现。首先要实现在Qt中建立整型数组,Qt为我们提供了强大的功能函数,就像VC中的库函数,Qt中通过包含某些函数的头文件可以直接调用内置函数来帮我们实现一些较为复杂的运算,QVector头文件就包含了建立数组的函数。具体的建立方法就是:QVectorintvector(10)//这里的十是你要建立的数组的元素个数int*data=vector.data();//这个函数就是库函数了可以直接调用for(inti=0;i10;++i)//动态的分配内存是个内存空间,建立一个包含10个数据的int数组data[i]=2*i;//就这样数组就被建成了接下来就是要设置一个中间变量,至于为什么要设置到后来你们也就明白了,之前说了Qt没法实现直接把整型数组变成Qstring那咱们就一个一个的把int数据转换成字符串;可以设置一个变量a,让a=data[i](i根据自己的需要来进行选择性的改变),然后就是要进行int换string了:有两种方法:1.使用QStringQString::number(longn,intbase=10)[static]如:longa=63;QStrings=QString::number(a,10);//s==63QStringt=QString::number(a,16).toUpper();//t==3F2.使用longa=63;QStrings=QString(%1).arg(a);这个其实网上有很多资料,但是他们并没有说明白我们怎么把数组间接的改编成字符串,按照这个方法无论给我什么数据我都可以以字符串的形式输出painter-drawtext(横坐标,纵坐标,字符串变量(如上面的s,t));其实我是因为项目需要才这么写的,因为接口发来数据我要选择性的进行把数据输出,而不建立数组的话我就没有可选择的数据进行输出,而且要是不这么做的话就要自己建立数据库,所谓的数据库就是要把所有可能出现的数据全部以字符串的形式写在程序里,因为painter-drawtext(横坐标,纵坐标,字符串变量(如上面的s,t));是要现成的字符串的,这样写的话程序明显的就复杂很多了而且呆板,但根据我写的方法明显就简单多了。希望能帮助到碰到和我一样问题的朋友,或许还有别的简单的方法,慢慢探索了。QT字符转数据把QString转换为double类型方法1.QStringstr=123.45;doubleval=str.toDouble();//val=123.45方法2.很适合科学计数法形式转换boolok;doubled;d=QString(1234.56e-02).toDouble(&ok);//ok=true;d;12.3456.把QString转换为float形1.QStringstr=123.45;floatd=str.toFloat();//d=123.452.QStringstr=R2D2;boolok;floatd=str.toFloat(&ok);//转换是被时返回0.0,ok=false;把QString形转换为整形1.转换为十进制整形注意:基数默认为10。当基数为10时,并且基数必须在2到36之间。如果基数为0,若字符串是以0x开头的就会转换为16进制,若以0开头就转换为八进制,否则就转换为十进制。Qstringstr=FF;boolok;intdec=str.toInt(&ok,10);//dec=255;ok=rueinthex=str.toInt(&ok,16);//hex=255;ok=true;3.常整形转换为Qstring形longa=63;QStringstr=QString::number(a,16);//str=3f;QStringstr=QString::number(a,16).toUpper();//str=3F;Qstring转换char*问题!方法一:QStringqstr(hello,word);constchar*p=qstr.toLocal8Bit().data();方法二:constchar*p=qstr.toStdString().data();转换过来的是常量把当前时间转化为QString...publicQDateTimeqdate=QDateTime.currentDateTime();datetime=qdate.toString(yyyy年MM月dd日ddddhh:mm:ss);如果不是QTime和QDate类比如说:通过TCP/IP接收到的charunsignedchar类等如何转换为QString类QStringTime2String(DWORDdwTime){charcTime[50]={0};memset(cTime,0,50);strftime(cTime,32,%Y-%m-%d%H:%M:%S,localtime(&time_t(dwTime)));returnQString(cTime);}

1 / 3
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功