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

应项目的要求终于在一天中学会了把整型数组转换成QString,也算是小有成就的一天了。
由于还没发现怎么直接把整型数组转换成string类型,但是可以通过间接的方法来实现。首先要实现在享受生命中的惊喜Qt建立整型数组,Qt为我们提供了强大的功能函数,就像VC中的库函数,Qt中通过包含某些函数的头文件可以直接调用内置函数来帮我们实现一些较为复杂的运算,QVector头文件就包含了建立数组的函数。具体的建立方法就是:
QVector<int>vector(10)//这里的十是你要建立的数组的元素个数
int *data=vector.data();//这个函数就是库函数了可以直接调用
for(int i=0;i<10;++i)//动态的分配内存是个内存空间,建立一个包含10数据int数组
data[i]=2*i;//就这样数组就被建成了
接下来就是要设置一个中间变量,至于为什么要设置到后来你们也就明白了,之前说了Qt没法实现直接把整型数组变成Qstring那咱们就一个一个的把int数据转换成字符串;可以设置一个变量a,a=data[i](i根据自己的需要来进行选择性的改变),然后就是要进行intstring:
有两种方法:
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.使用gga
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 Double(); //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 Float(); //d=123.45
2.QString str="R2D2";
绿体育
bool ok;
float Float(&ok); //转换是被时返回0.0,ok=false;
QString形转换为整形
1.转换为十进制整形
注意:基数默认为10。当基数为10时,并且基数必须在236
间。如果基数为0,若字符串是以0x开头的就会转换为16进制,若以0开头就转换为八进制,否则就转换为十进制。
Qstring str="FF";
bool ok;
int Int(&ok,10); //dec=255 ; ok=rue
int hex =Int(&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 = Local8Bit().data();
方法二:
const char *p = StdString().data();
转换过来的是常量
把当前时间转化为
public QDateTime qdate = QDateTime.currentDateTime();
datetime = String("yyyyMMddddddhh:mm:ss");
如果不是QTimeQDate类比如说:通过TCP/IP接收到的char unsigned char 类等如何转换为QString
QString Time2String( DWORD dwTime)
{
char cTime[50] = {0};
台湾当局
memset(cTime,0,50);
strftime(cTime,32,"%Y-%m-%d %H:%M:%S",localtime(&time_t(dwTime)));
return QString(cTime);
}

本文发布于:2024-09-22 01:49:13,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/263415.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据   数组   建立
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议