QT中类型转换


前言

本文涉及QString转int、QString转std::string、QString转double、QString转char*及大小端转换


一、QString与std::string

QString qstr = "你好!";
std::string stdstr = qstr.toStdString();         // QString 转 标准string          
QString qstr2 = QString::fromStdString(stdstr);  // 标准string 转 QString  

二、QString与int

// int 转 QString
QString qstr = QString::number(123);        

// QString 转 int
int i = atoi(qstr.toStdString().c_str());       // 方法1
int i = qstr.toInt();                           // 方法2
bool ok;                                        // 方法3
int i = qstr.toInt(&ok);                        // ok为true表示成功,false表示失败  

三、QString与double

// double 转 QString
double a = 123.123456;
QString str = QString::number(a, "f", 6);// 非科学计数法,小数点后保留6位小数

// QString 转 double
QString str = "123.123456";
double c = str.toDouble();

四、QString与char*

// QString 转 char*
QString qstr = "你好!"; 
std::string str = qstr.toStdString(); 
const char *ch = str.c_str();

// char* 转 QString
char* ch = new char[len+1]
memset(ch, 0, len+1);
QString test = QString(QLatin1String(ch));

五、大小端转换

#include <QTEndian> 
// 网络传输一般要转换为大端 
unsigned short header = qToBigEndian((unsigned short)0xAA55);         // 转换为大端
unsigned short header = qToLittleEndian((unsigned short)0xAA55);      // 转换为小端  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值