相关资源:
https://blog.csdn.net/_/article/details/ char*与QString互转
https://blog.csdn.net/weixin_/article/details/ qt字符串与字符串数组操作
1.char* 转QString
方法一:直接用QString的构造函数转换,如下:
char* ch = "acuity";//这种写法在我的QT中报 error: C2440: “初始化”: 无法从“const char [7]”转换为“char *”
QString str(ch);//error: C2040: “str”:“QString”与“char *”的间接寻址级别不同
方法二:用QString的静态转换函数获取,如fromUtf8()、fromLocal8bit()、fromUtf16(),如下:
char sTest[] = "abc";
char *pTest = sTest;
QString qTest = QString::fromUtf8(pTest);
方法一:借助QByteArray类,也是本人用得最多的方法,如下:
QString qTest("abc");
char* pTest;
QByteArray baTest = qTest.toLatin1();
pTest = baTest.data();
第三行一般加上,整合一条语句(pTest=qTest.toLatin1().data())有时会出问题。以上对应英文/ASII码来说,如果涉及中文,建议通用用utf-8格式,可以避免莫名其妙的乱码现。这一点在代码编辑上建议也是使用utf-8格式。如下:
QString qTest("abc中文");
char* pTest;
QByteArray baTest = qTest.toUtf8();
pTest = baTest.data();
方法二:
对于涉及中文情况,也可以先将QString转换为标准库string类型,然后再将string转换为char*。如下:
QString sTest("abc中文");
std::string ssTest = sTest.toStdString();
const char* ch = ssTest.c_str();
在使用Qt Creator编程时,难免会用到将float类型转换为QString类型的时候下面是我所有的方法:
1. 将QString类型转化为float类型,很简单
QString data;
float num = data.toFloat();
即可很轻松的实现。
2. 但是如何将float类型转化为QString类型呢?
查看API很难发现封装好的转化函数
可以尝试使用下面的代码转化:
float num = 1.222;
QString data = QString(“float is %1”).arg(num);
输出结果是:float is 1.222
如果只要float转化成的数值,则使用如下:
QString data = QString(“%1”).arg(num);
=======================qt字符串与字符串数组操作====================
/字符串连接
QString s = s1 + s2;
Qt的QString类提供了很方便的对字符串操作的接口。
到此这篇qt字符串转float(qt字符串转换)的文章就介绍到这了,更多相关内容请继续浏览下面的相关 推荐文章,希望大家都能在编程的领域有一番成就!
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/bcyy/25910.html