- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Qt中整形数组转换成字符串及问题
应项目的要求终于在一天中学会了把整型数组转换成QString,也算是小有成就的一天了。
由于还没发现怎么直接把整型数组转换成string类型,但是可以通过间接的方法来实现。首先要实现在Qt中建立整型数组,Qt为我们提供了强大的功能函数,就像VC中的库函数,Qt中通过包含某些函数的头文件可以直接调用内置函数来帮我们实现一些较为复杂的运算,QVector头文件就包含了建立数组的函数。具体的建立方法就是:
QVectorintvector(10)//这里的十是你要建立的数组的元素个数
int *data=vector.data();//这个函数就是库函数了可以直接调用
for(int i=0;i10;++i)//动态的分配内存是个内存空间,建立一个包含10个数据的int数组
data[i]=2*i;//就这样数组就被建成了
接下来就是要设置一个中间变量,至于为什么要设置到后来你们也就明白了,之前说了Qt没法实现直接把整型数组变成Qstring那咱们就一个一个的把int数据转换成字符串;可以设置一个变量a,让a=data[i](i根据自己的需要来进行选择性的改变),然后就是要进行int换string了:
有两种方法:
1.使用
QString QString::number ( long n, int base = 10 ) [static]
如:
long a = 63;
QString s = QString::number(a, 10); // s == 63
QString t = QString::number(a, 16).toUpper(); // t == 3F
2.使用
long a = 63;
QString s = QString(%1).arg(a);
这个其实网上有很多资料,但是他们并没有说明白我们怎么把数组间接的改编成字符串,按照这个方法无论给我什么数据我都可以以字符串的形式输出painter-drawtext(横坐标,纵坐标,字符串变量(如上面的 s,t));
其实我是因为项目需要才这么写的,因为接口发来数据我要选择性的进行把数据输出,而不建立数组的话我就没有可选择的数据进行输出,而且要是不这么做的话就要自己建立数据库,所谓的数据库就是要把所有可能出现的数据全部以字符串的形式写在程序里,因为painter-drawtext(横坐标,纵坐标,字符串变量(如上面的 s,t));是要现成的字符串的,这样写的话程序明显的就复杂很多了而且呆板,但根据我写的方法明显就简单多了。希望能帮助到碰到和我一样问题的朋友,或许还有别的简单的方法,慢慢探索了。
QT字符转数据
把QString转换为 double类型
方法1.QString str=123.45;
double val=str.toDouble(); //val=123.45
方法2.很适合科学计数法形式转换
bool ok;
double d;
d=QString(1234.56e-02).toDouble(ok); //ok=true;d;12.3456.
把QString转换为float形
1.QString str=123.45;
float d=str.toFloat(); //d=123.45
2.QString str=R2D2;
bool ok;
float d=str.toFloat(ok); //转换是被时返回0.0,ok=false;
把QString形转换为整形
1.转换为十进制整形
注意:基数默认为10。当基数为10时,并且基数必须在2到36之
间。如果基数为0,若字符串是以0x开头的就会转换为16进制,若以0开头就转换为八进制,否则就转换为十进制。
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;
3.常整形转换为Qstring形
long a =63;
QString str=QString::number(a,16); //str=3f;
QString str=QString::number(a,16).toUpper(); //str=3F;
Qstring 转换char*问题!
方法一:
QString qstr(hello,word);
const char * p = qstr.toLocal8Bit().data();
方法二:
const char *p = qstr.toStdString().data();
转换过来的是常量
把当前时间转化为QString...
public QDateT
文档评论(0)