a . 使用arg
long
a=36;
qstring
s=qstring("%1").arg(a);//s
=="36"
//int
轉qsting
qstring
stepinfo=tr("time:
%1")
.arg(qstring::number(timestamp,10),8,'0');
//10進製,8位,不足補0
b . 使用qstring::number() ;
long
a=63;
qstring
s=qstring::number(a,
10);//s
=="63"
qstring
t=qstring::number(a,
16).toupper();//t
=="3f"
//toupper:
大寫
static qstring number
(int, int base=10)
;
static qstring number
(uint, int base=10)
;
static qstring number
(long, int base=10)
;
static qstring number
(ulong, int base=10)
;
static qstring number
(qlonglong, int base=10)
;
static qstring number
(qulonglong, int base=10)
;
static qstring number
(double, char f='g', int prec=6)
;
第二引數可省略,省略時為10,表示10進製;
qstringstr="ff";
bool
ok;
intdec=str.toint(&ok,10);
//dec=255
;ok=true
//qstring
轉int
inthex=str.toint(&ok,16);
//hex=255;ok=true;
//qstring
轉int
qstring
str="123.45";
double
val=str.todouble();
//val=123.45
//qstring
轉double
bool
ok;
double
d;
d=qstring("1234.56e-02").todouble(&ok);//ok=true;d=12.3456
qstring
str="123.45";
float
d=str.tofloat();
//d=123.45
qstring
str="r2d2";
bool
ok;
float
d=str.tofloat(&ok);
//轉換是被時返回0.0,ok=false;
char
a='b';
qstring
str;
str=qstring(a);
2 > qstring 轉 char
qstring
str="qq";
char
*ch;
ch=str.tolatin1.data();
char
*ch1="tt";
const
char
*ch2="qq";
ch1=(char*)ch2;
char
*ch;
qbytearray
byte;
ch=byte.data();
2 > char * 轉 qbytearray
char
*ch;
qbytearray
byte;
byte=qbytearray(ch);
提供的字元編碼集的轉換函式將會返回乙個
constchar*
型別版本的
qbytearray
,即建構函式
qbytearray
(constchar*)
構造的qbytearray
物件。qbytearray
類具有乙個位元組陣列,它既可以儲存原始位元組(
raw bytes
),也可以儲存傳統的以「
\0」結尾的
8位的字串。在
qt中,使用
qbytearray
比使用const char*
更方便,且
qbytearray
也支援隱式共享。轉換函式有以下幾種。
① toascii():返回乙個ascii編碼的8位字串。
② tolatin1():返回乙個latin-1(iso8859-1)編碼的8位字串。
③ toutf8():返回乙個utf-8編碼的8位字串(utf-8是ascii碼的超級,它支援整個unicode字符集)。
④ tolocal8bit():返回乙個系統本地(locale)編碼的8位字串。
qstring
qstr("hello,word");
const
char
*p=qstr.tolocal8bit().data();
constchar
*p2=qstr.tostdstring().data();
qbytearray
byte;
qstring
string;
string=qstring(byte);
2 > qstring 轉 qbytearray
qbytearray
byte;
qstring
string;
byte=string.toascii();
qstring
b_datetime;
hh:mm:ss")));
qbytearray
handle_data;
//byte0為高8位
//取出對應位的16進製制char型之後轉換為16進製制的int型(強制轉換)
intdata1=(unsigned
char)handle_data.at(0);
//byte1為低8位
//取出對應位的16進製制char型之後轉換為16進製制的int型(強制轉換)
intdata2=(unsigned
char)handle_data.at(1);
intdata_sum=data1<<8|data2;//移位8位是乙個位元組
//將16進製制data_sum轉換為string型別的10進製數便於在text上顯示
qstring
data_string=
qstring::number(data_sum,10);
Qt中QString的比較
一般情況下,我們會使用compare來進行比較,具體的返回結果如下 qstring compare ab ab 值為0 qstring compare ab df 值為 0 qstring compare df ab 值為 0 使用這個函式時可以新增第三個引數 qstring compare df ...
Qt中的QString與char 的轉換
對於這些基本的資料型別的轉換有時會弄得我們很頭疼。不會寫,不敢寫,寫了怕錯。雖然現在跑qt下了,這不遇見了第一次需要資料型別轉換的時候了。先說qt中的qstring如何轉char 吧。然後就是char 轉qstring 方法一 qstring string qstring qlatin1string...
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 ...