admin 管理员组文章数量: 887021
2024年2月19日发(作者:download手机版下载)
应项目的要求终于在一天中学会了把整型数组转换成QString,也算是小有成就的一天了。
由于还没发现怎么直接把整型数组转换成string类型,但是可以通过间接的方法来实现。首先要实现在Qt中建立整型数组,Qt为我们提供了强大的功能函数,就像VC中的库函数,Qt中通过包含某些函数的头文件可以直接调用内置函数来帮我们实现一些较为复杂的运算,QVector头文件就包含了建立数组的函数。具体的建立方法就是:
QVector
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根据自己的需要来进行选择性的改变),然后就是要进行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类型
方法g str="123.45";
double val=le(); //val=123.45
方法2.很适合科学计数法形式转换
bool ok;
double d;
d=QString("1234.56e-02").toDouble(&ok); //ok=true;d;12.3456.
把QString转换为float形
g str="123.45";
float d=t(); //d=123.45
g str="R2D2";
bool ok;
float d=t(&ok); //转换是被时返回0.0,ok=false;
把QString形转换为整形
1.转换为十进制整形
注意:基数默认为10。当基数为10时,并且基数必须在2到36之
间。如果基数为0,若字符串是以0x开头的就会转换为16进制,若以0开头就转换为八进制,否则就转换为十进制。
Qstring str="FF";
bool ok;
int dec=(&ok,10); //dec=255 ; ok=rue
int hex =(&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 = l8Bit().data();
方法二:
const char *p = tring().data();
转换过来的是常量
把当前时间转化为QStr
public QDateTime qdate = QDateTtDateTime();
datetime = ng("yyyy年MM月dd日ddddhh:mm:ss");
如果不是QTime和QDate类比如说:通过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);
}
版权声明:本文标题:Qt中整形数组转换成字符串的问题 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1708327311h519896.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论