天天看點

double qt 去掉小數點後_qt QString 與char int double的轉化(轉載)

char * 與 const char *的轉換

char *ch1="hello11";

const char *ch2="hello22";

ch2 = ch1;//不報錯,但有警告

ch1 = (char *)ch2;

char 轉換為 QString

其實方法有很多中,我用的是:

char a='b';

QString str;

str=QString(a);

QString 轉換為 char

方法也用很多中

QString str="abc";

char *ch;

ch = str.toLatin1.data();

QByteArray 轉換為 char *

char *ch;//不要定義成ch[n];

QByteArray byte;

ch = byte.data();

char * 轉換為 QByteArray

char *ch;

QByteArray byte;

byte = QByteArray(ch);

QString 轉換為 QByteArray

QByteArray byte;

QString string;

byte = string.toAscii();

QByteArray 轉換為 QString

QByteArray byte;

QString string;

string = QString(byte);

這裡再對這倆中類型的輸出總結一下:

qDebug()<

qDebug()<

qDebug()<

qDebug()<

qDebug()<

qDebug()<

qDebug()<

但是qDebug()<

qDebug()<

int 轉 QString

int a=10;

QString b;

b=QString::number(a)

QString 轉int

QString a="120"

int b;

b=a.toInt()

char * 與 const char *的轉換

char *ch1="hello11";

const char *ch2="hello22";

ch2 = ch1;//不報錯,但有警告

ch1 = (char *)ch2;

char 轉換為 QString

其實方法有很多中,我用的是:

char a='b';

QString str;

str=QString(a);

QString 轉換為 char

方法也用很多中

QString str="abc";

char *ch;

ch = str.toLatin1.data();

QByteArray 轉換為 char *

char *ch;//不要定義成ch[n];

QByteArray byte;

ch = byte.data();

char * 轉換為 QByteArray

char *ch;

QByteArray byte;

byte = QByteArray(ch);

QString 轉換為 QByteArray

QByteArray byte;

QString string;

byte = string.toAscii();

QByteArray 轉換為 QString

QByteArray byte;

QString string;

string = QString(byte);

這裡再對這倆中類型的輸出總結一下:

qDebug()<

qDebug()<

qDebug()<

qDebug()<

qDebug()<

qDebug()<

qDebug()<

但是qDebug()<

qDebug()<

int 轉 QString

int a=10;

QString b;

b=QString::number(a)

QString 轉int

QString a="120"

int b;

b=a.toInt()

另一個

1 QString --> string

QString.toStdString();

2 string --> QString

QString::fromStdString(string)

3 QString --->int,double,char *

QString::toInt()

QString::toDouble()

QString.toStdString().c_str();

4 int double char* --->string

可以采用裡的stringstream

以int 為例,int a = 3;

stringstream ss;

string strInt;

ss<

ss>>strInt;

其他兩個一樣。

5 int double char*裝QString