QString 與 數字型別的轉換

2021-05-23 21:59:59 字數 1487 閱讀 7573

型別轉換

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

把qstring轉換為float形

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形轉換為整形

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;

3.常整形轉換為qstring形

long a =63;

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

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

方法一:

qstring qstr("hello,word");

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

方法二:

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