Qt 中Qstring 型別的轉換

2021-07-16 02:47:48 字數 2991 閱讀 1931

標籤: qt

float

hexstring

2012-02-27 12:52

72446人閱讀收藏 

舉報

c++(22)

目錄(?)

[+]

網上找了半天,全是qstring轉int和char等的,就沒有int轉qstring的,但是還是找到啦,我來整合一下哦~

qt中 int ,float ,double轉換為qstring

有兩種方法

1.使用

qstring::number();

如:[cpp]

view plain

copy

print?

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.使用

[cpp]

view plain

copy

print?

long

a = 63;  

qstring s = qstring("%1"

).arg(a);  

這個嘛,我不常用

把qstring轉換為 double型別

方法1.

[cpp]

view plain

copy

print?

qstring str=

"123.45"

;  double

val=str.todouble(); 

//val=123.45

方法2.很適合科學計數法形式轉換

[cpp]

view plain

copy

print?

bool

ok;  

double

d;  

d=qstring("1234.56e-02"

).todouble(&ok); 

//ok=true;d;12.3456.

把qstring轉換為float形1.

[cpp]

view plain

copy

print?

qstring str=

"123.45"

;  float

d=str.tofloat(); 

//d=123.45

2.

[html]

view plain

copy

print?

qstring 

str=

"r2d2"

;  bool ok;  

float d

=str

.tofloat(&ok); //轉換是被時返回0.0,ok=

false

;  

把qstring形轉換為整形

1.轉換為十進位制整形

注意:基數預設為10。當基數為10時,並且基數必須在2到36之

間。如果基數為0,若字串是以0x開頭的就會轉換為16進製制,若以0開頭就轉換為八進位制,否則就轉換為十進位制。

[cpp]

view plain

copy

print?

qstring str=

"ff"

;  bool

ok;  

intdec=str.toint(&ok,10); 

//dec=255 ; ok=rue

inthex =str.toint(&ok,16); 

//hex=255;ok=true;

3.常整形轉換為qstring形

[cpp]

view plain

copy

print?

long

a =63;  

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

qstring str=qstring::number(a,16).toupper(); //str="3f";

方法一:

[cpp]

view plain

copy

print?

qstring qstr(

"hello,word"

);  

const

char

* p = qstr.tolocal8bit().data();  

方法二:

[cpp]

view plain

copy

print?

const

char

*p = qstr.tostdstring().data();  

轉換過來的是常量

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)

;memset(ctime,0,50);

strftime(ctime,32,"%y-%m-%d %h:%m:%s",localtime(&time_t(dwtime)));

return qstring(ctime);}

QT中QString與數字型別的轉換

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

QT中QString與數字型別的轉換

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

QString 型別轉換

因為經常用到型別轉換,看到一篇很全的文章,就記下來,方便以後使用。1.qstring 轉 intqstring str int m m str.toint 2.int 轉 qstring qstring str int m str qstring number m 3.unsigned char 轉...