参考:http://blog.csdn.net/ei__nino/article/details/7297791

Qt中数据类型的转换很常用,于是边使用边记录,有不完整的,后边再慢慢补充完善

Qt中 int ,long转换为QString

有两种方法
1、使用QString::number(),如:

long a = 63;
QString s = QString::number(a, 10);             // s == "63"
QString t = QString::number(a, 16).toUpper();     // t == "3F"  

(解释,变量a为int型或者float,double。10和16为进制) toUpper是大写
2、使用格式化,如:

long a = 63;
QString s = QString("%1").arg(a); 

第一种方法更常用些

float,double转换为QString

double c = float(a) / float(b) ;
QString d = QString::number(c,10,4);

其中第三个参数表示精度

把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.  

方法2很适合科学计数法形式转换

把QString转换为float型

和double类似,有两种方法

方法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型转换为整型

转换为十进制整型,注意:基数默认为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; 

把QString转换为char*型

方法一:

QString qstr("hello,word");
const char * p = qstr.toLocal8Bit().data();  

方法二:

const char *p = qstr.toStdString().data();  

把QString与string相互转换

//从QString 到 std::string
str = qstr.toStdString();
//从std::string 到QString
qstr = QString::fromStdString(str);

把QString转换为QByteArray型

QString str("hello");
QByteArray bytes = str.toUtf8(); // QString转QByteArray方法1 QString str("hello");
QByteArray bytes = str.toLatin1();  // QString转QByteArray方法2

把QByteArray转换为QString型

    QByteArray bytes("hello world");QString string = bytes;   // QByteArray转QString方法1QByteArray bytes("hello world");QString string;string.prepend(bytes);// QByteArray转QString方法2

Qt数据类型转换大全相关推荐

  1. vc数据类型转换大全

    vc数据类型转换大全 int i = 100; long l = 2001; float f=300.2; double d=12345.119; char username[]="程佩君& ...

  2. Java中数据类型转换大全(个人总结)

    一.字符串转换为其他类型 1.将字符串转化为int型 (1)方法一 int i = Integer.parseInt(String str); (2)方法二 int i = Integer.value ...

  3. VC++数据类型转换大全

    Cpp代码   int i = 100; long l = 2001; float f=300.2; double d=12345.119; char username[]="程佩君&quo ...

  4. Qt常用数据类型转换

    Qt常用数据类型转换 1. char *与const char *的转换 char *ch1="hello11"; const char *ch2="hello22&qu ...

  5. Python类型转换——数据类型转换函数大全

    Python类型转换--Python数据类型转换函数大全 虽然 Python 是弱类型编程语言,不需要像 Java 或 C 语言那样还要在使用变量前声明变量的类型,但在一些特定场景中,仍然需要用到类型 ...

  6. Python类型转换,Python数据类型转换函数大全

    Python类型转换,Python数据类型转换函数大全 虽然 Python 是弱类型编程语言,不需要像 Java 或 C 语言那样还要在使用变量前声明变量的类型,但在一些特定场景中,仍然需要用到类型转 ...

  7. Python 类型转换(数据类型转换函数大全)

    文章目录 虽然 Python 是弱类型编程语言,不需要像 Java 或 C 语言那样还要在使用变量前声明变量的类型,但在一些特定场景中,仍然需要用到类型转换. 比如说,我们想通过使用 print() ...

  8. QML和C ++之间的数据类型转换

    QML和C ++之间的数据类型转换 QML和C ++之间的数据类型转换 Data Ownership 基本Qt数据类型 QObject派生的类型 Qt和JavaScript类型之间的转换 QVaria ...

  9. QVariant类及QVariant与自定义数据类型转换的方法

    这个类型相当于是Java里面的Object,它把绝大多数Qt提供的数据类型都封装起来,起到一个数据类型"擦除"的作用.比如我们的 table单元格可以是string,也可以是int ...

最新文章

  1. 受用一生的高效 PyCharm 使用技巧(二)
  2. c语言编写经验逐步积累3
  3. bai的字怎么写_硬笔书法的连笔字应该要怎么写?
  4. 【LeetCode】3月19日打卡-Day4
  5. MySQL 删除存储过程
  6. JS new操作符执行之后背后的操作
  7. 刘作虎曝光一加7真机视频 最流畅的手机来了!
  8. 《统计学习方法》读书笔记——朴素贝叶斯法(公式推导+代码实现)
  9. 网络安全未来发展趋势怎么样,学习难度大吗?
  10. mnist数据集读取并保存为Numpy数组
  11. android 中 FLAG_SHOW_WHEN_LOCKED 的用法及解释
  12. 机器学习—线性回归推广及案例
  13. Linux学习笔记5-linux中的磁盘
  14. python编程符号大全_2020 年最值得学习的 5 大 AI 编程语言
  15. Fisker大师用ZBrush制作兽人萨尔全过程
  16. 中兴新支点操作系统_中兴新支点 OS 销量都过两亿套了?赶紧下载安装体验了一把...
  17. php音乐地址外链,音乐外链地址的获取
  18. python pack和unpack
  19. nginx proxy_pass匹配路径
  20. mysql列插入数据

热门文章

  1. win10新无线网无法连接服务器,Win8无线网络无法连接怎么办?
  2. Can‘t convert value of class [B to class org.apache.kafka.common.serialization.StringSerializer spec
  3. 【R语言】按照列名筛选数据框
  4. 【观察】神州数码:一体两翼,云程万里
  5. Novell行将面临FSF告状:按捺其发行Linux
  6. godaddy管理域名
  7. android lame wav 转 mp3,Android JNI Lame编解码实现wav到MP3的转换
  8. 【从0到1】组装深度学习台式机
  9. 人之间的尊重是相互的_人与人之间相互尊重的句子
  10. 计算机629错误代码,Win7宽带提示629错误代码怎么办?