QT中常用数据之间转换

其实这个网上已经有很多的了,在这里写一下,只是给自己记录下,免得以后找不全,或者一时半会找不到自己想要的。持续跟新中......

1. 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"

方法2. 使用arg()

long a = 63;

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

这个在将浮点数转成QString类型还是很方便的

2.  把QString转换为 double类型

方法1. 使用toDouble()

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.

3.把QString转换为float形

方法1. 使用toFloat()

QString str="123.45";

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

4. 把QString形转换为int

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;

5.长整形转换为Qstring形

long a =63;

QString str=QString::number(a,16); //str="3f";

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

6. Qstring 转换char*

方法一:

QString qstr("hello,word");

const char * p = qstr.toLocal8Bit().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);

}

时间: 2024-10-12 15:26:40

QT中常用数据之间转换的相关文章

VC++编程中常用的字符串转换函数

VC++编程中经常遇到不同编码编码的字符串之间需要转换的情况,以下简单提供几个不同编码字符串之间的转换函数: ANSI 字符串和Unicode字符串之间的转换 //Convert wide char string to ANSI string BOOL WCharToMByte(LPCWSTR lpcwszStr,Std::string &str) { DWORD dwMinSize=0; LPSTR lpszStr=NULL; dwMinSize= WideCharToMultiByte(CP

第五节:Java中常用数据集合

List public interface List<E>extends Collection<E> 有序的 collection(也称为序列),允许重复的元素. 常用实现类: ArrayList: 底层使用的是数组结构,特点:查询速度快,增删操作较慢,而且线程不同步. 要保证同步,可以使用:List list = Collections.synchronizedList(new ArrayList());进行包装,默认容量为10. 常用方法:add,addAll,remove,i

常用数据单位转换

字节 (byte):8个二进制位为一个字节(B),最常用的单位.计算机存储单位一般用B,KB,MB,GB,TB,PB,EB,ZB,YB,BB来表示,它们之间的关系是: 1B(Byte字节)=8bit 1KB (Kilobyte 千字节)=1024B, 1MB (Mega byte 兆字节 简称"兆")=1024KB, 1GB (Giga byte 吉字节 又称"千兆")=1024MB, 1TB (Tera byte 万亿字节 太字节)=1024GB,其中1024=2

mysql中把selct中的数据列表转换成逗号分隔的字符串

登录mysql,在test数据库中建立一个表: CREATE TABLE `shoufei` ( `id` int(11) NOT NULL AUTO_INCREMENT, `shijian` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `xiangmu` varchar(20) NOT NULL, `jiage` float NOT NULL, `shuliang` int(11) NOT NULL, `jine` float DEFAULT N

简析项目中常用的七参数转换法和四参数转换法以及涉及到的基本测量学知识

1.背景 在了解这两种转换方法时,我们有必要先了解一些与此相关的基本知识.我们有三种常用的方式来表示空间坐标,分别是:经纬度和高层.平面坐标和高层以及空间直角坐标. 2.经纬度坐标系(大地坐标系) 这里我首先要强调:天文坐标表示的经纬度和大地坐标系表示的经纬度是不同的.所以,同一个经纬度数值,在BJ54和WGS84下表示的是不同的位置,而以下我说的经纬度均指大地坐标系下的经纬度.大地坐标系是大地测量中以参考椭球面为基准面建立起来的坐标系.下面我跟大家大致谈谈其中涉及到的两个重要概念. 2.1大地

ligerui_实际项目_003:form中添加数据,表格(grid)里面显示,最后将表格(grid)里的数据提交到servlet

实现效果: "Form"中填写数据,向本页"Grid"中添加数据,转换成Json数据提交,计算总和,Grid文本框可编辑,排序 图片效果: 总结: //display属性: editor:grid表格可以编辑其类容: //select类型:select+render实现选择填充效果 editor:{ type:"select", data:[{id:"1",text:"品牌一"},{id:"2&q

Qt 中一些常用类中文说明

Qt 中一些常用类中文说明是本文讲述的内容,这篇文章主要是介绍Qt 当中经常使用的类,采取的是使用字母索引的方式,下面的类是被经常使用的. QDataStream 为QIODevice提供了一串的二进制的数据 QDataWidgetMapper 提供了从数据模型到部件的映射 QData 日期的功能 QDateEdit 提供了日期的部件用来编辑日期,是基于QDateTimeEdit 部件 QDateTime 提供日期与时间的功能 QDateTimeEdit 提供了编辑日期与实践的部件 QDBusA

Sql 中常用日期转换Convert(Datetime)

CONVERT(data_type,expression[,style]) convert(varchar(10),字段名,转换格式) 说明:此样式一般在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar)相互转换的时候才用到. 语句 结果SELECT CONVERT(varchar(100), GETDATE(), 0) 07 15 2009 4:06PMSELECT CONVERT(varchar(100), GETD

Java中数据类型及其之间的转换

Java中数据类型及其之间的转换 基本的数据类型 基本类型有以下四种: 1)int长度数据类型有:byte(8bits).short(16bits).int(32bits).long(64bits). 2)float长度数据类型有:单精度(32bits float).双精度(64bits double),JAVA中将小数默认为double类型,若要定义float需在数据后面用f声明: 3)boolean类型变量的取值有:ture.false 4)char数据类型有:unicode字符,16位 对