Qt中 int ,float ,double转换为QString

有两种方法

1.使用

QString::number();

如:

long a = 63;

QString s = QString::number(a, 10); // s == "63"

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

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);

long a = 63; QString s = QString("%1").arg(a);这个嘛,我不常用

把QString转换为 double类型

方法1.

QString str="123.45";

double val=str.toDouble(); //val=123.45

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.

bool ok; double d; d=QString("1234.56e-02").toDouble(&ok); //ok=true;d;12.3456.

把QString转换为float形

1

QString str="123.45";

float d=str.toFloat(); //d=123.45

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 str="R2D2"; bool ok;float d=str.toFloat(&ok); //转换是被时返回0.0,ok=false;

把QString形转换为整形

1.转换为十进制整形

注意:基数默认为10。当基数为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 str="FF"; bool ok;int dec=str.toInt(&ok,10); //dec=255 ; ok=rue int hex =str.toInt(&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";

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");

constchar * p = qstr.toLocal8Bit().data();

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

方法二:

constchar *p = qstr.toStdString().data();

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

转换过来的是常量

把当前时间转化为QString...

public QDateTime qdate = QDateTime.currentDateTime();
datetime = qdate.toString("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);
}

参考:http://blog.chinaunix.net/uid-26696487-id-3333982.html

Qt中 QString 和int, char等的“相互”转换,关键是QString.toLocal8Bit().data();的更多相关文章

  1. Qt中 QString 和int, char等的“相互”转换

    转载:http://blog.csdn.net/ei__nino/article/details/7297791 Qt中 int ,float ,double转换为QString 有两种方法 1.使用 ...

  2. Qt中 QString 和int,double等的转换

    Qt中 int ,float ,double转换为QString 有两种方法 1.使用 QString::number(); 如: long a = 63; QString s = QString:: ...

  3. QString, string, int, char* 之间相互转换

    这三种数据类型在实际运用中经常需要互相转换,那么这里小结下它们之间的转换方法: - Qstring & string Qt中封装的类十分强大,其成员函数数量之多比STD有过之而无不及,许多程序 ...

  4. qt QString 与 int,char的转换

    每次QString转换int或者char的时候都要查资料,记录一下,方便下次查看. 参考: http://blog.csdn.net/ei__nino/article/details/7297791 ...

  5. qt中使用opencv处理图片 QImage 和 IplImage 相互之间转换问题

    在用opencv处理图片显示在qt label上的时候遇到不是问题 1. qt上要用qimage形式才干显示 IplImage转成 Qimage 彩色图像转换 IplImage  *fram; QIm ...

  6. 4.关于QT中的QFile文件操作,QBuffer,Label上添加QPixmap,QByteArray和QString之间的区别,QTextStream和QDataStream的区别,QT内存映射(

     新建项目13IO 13IO.pro HEADERS += \ MyWidget.h SOURCES += \ MyWidget.cpp QT += gui widgets network CON ...

  7. 4.关于QT中的QFile文件操作,QBuffer,Label上加入QPixmap,QByteArray和QString之间的差别,QTextStream和QDataStream的差别,QT内存映射(

     新建项目13IO 13IO.pro HEADERS += \ MyWidget.h SOURCES += \ MyWidget.cpp QT += gui widgets network CON ...

  8. OpenCV中IplImage图像格式与BYTE图像数据的转换

    最近在将Karlsruhe Institute of Technology的Andreas Geiger发表在ACCV2010上的Efficent Large-Scale Stereo Matchin ...

  9. Qt中Qstring,char,int,QByteArray之间到转换(转)

    11.各种数据类型的相互转换char * 与 const char *的转换char *ch1="hello11";const char *ch2="hello22&qu ...

随机推荐

  1. QFII

    QFII(Qualified Foreign Institutional Investors)合格的境外机构投资者的英文简称,中文“酋匪”,QFII机制是指外国专业投资机构到境内投资的资格认定制度. ...

  2. 什么是MBS,ABS和CDO

    1. 都是资产证券化产品 华尔街有句名言“如果要增加未来的现金流,就把它做成证券.如果想经营风险,就把它做成证券”.从本质上来讲,MBS,ABS和 CDO都是资产证券化产品.根据美国证券交易委员会(S ...

  3. python网上开发执行环境

    http://www.tutorialspoint.com/execute_python_online.php

  4. 01标题背包水章 HDU2955——Robberies

    原来是dp[i],它代表的不被抓的概率i这最大的钱抢(可能1-100) 客是dp[i]表示抢了i钱最大的不被抓概率,嗯~,弱菜水题都刷不动. 那么状态转移方程就是 dp[i]=max(dp[i],dp ...

  5. php开发中将远程图片本地化的方法

    检查文本内容中的远程图片,下载远程图片到本地的方法示例. /** * 下载远程图片到本地 * * @param string $txt 用户输入的文字,可能包含有图片的url * @param str ...

  6. Linux LVM 扩展磁盘分区

    系统:centos 6.3--新建分区 fdisk -l /dev/sdc       # 查看分区 fdisk /dev/sdc          # 创建分区 :n                 ...

  7. 关于 gravity与layout_gravity

    区别 gravity与layout_gravity的区别在于: android:gravity是用来设置该view中内容相对于该view组件的对齐方式 android:layout_gravity是用 ...

  8. OD: SafeSEH

    SafeSEH 对异常处理的保护原理 在 Windows XP sp2 以及之后的版本中,微软引入了 S.E.H 校验机制 SafeSEH.SafeSEH 需要 OS 和 Compiler 的双重支持 ...

  9. css改变滚动条样式

    /*定义滚动条高宽及背景 高宽分别对应横竖滚动条的尺寸*/ ::-webkit-scrollbar { width: 10px; height: 12px; background-color: #F5 ...

  10. table的border-collapse属性与border-spacing属性

    table border-collapse:collapse; 表示边框合并在一起. border-collapse:separate;表示边框之间的间距,间距的大小用border-spacing:p ...