QT——数据转换(int/QString/QByteArray/char/string)等

目录

1. QString怎么转成int

2. int转QString

3. int转string

4. string转int

5. QString转string

6. string转QString

7. QByteArray转QString

8. QString转QByteArray

9. QByteArray 转化为 char *

10. char * 转化为 QByteArray

11.QString 转 char *

12. char*转QString


1. QString怎么转成int

QString str = "123";
int num = str.toInt(); // 将 QString 转换为 int

带返回值:

QString str = "123";
bool ok;
int num = str.toInt(&ok); // 将 QString 转换为 int,并通过 ok 来检测转换是否成功
 
if (ok) {
    // 转换成功
} else {
    // 转换失败
}

2. int转QString

//int转QString

//方法1
int a = 123456;
QString b;
b = QString::number(a,10,5);//QString::number(a,基底,精度)

//方法2,利用arg()
int a = 123456;
QString b = QString("%1").arg(a);

3. int转string

//int转string
int a = 123456;
string b;
b = std::tostring(a);

4. string转int

//string转int
string c = "123456";
int d;
d = atoi(c.c_str());//string转float 用 atof()

5. QString转string

//从QString 到 std::string
str = qstr.toStdString();
 

6. string转QString

//从std::string 到QString
qstr = QString::fromStdString(str);

7. QByteArray转QString

    // QByteArray转QString方法1
    QByteArray bytes("hello world");
    QString string = bytes;   
 
    // QByteArray转QString方法2
    QByteArray bytes("hello world");
    QString string;
    string.prepend(bytes);

8. QString转QByteArray

// QString转QByteArray方法1 
QString str("hello");  
QByteArray bytes = str.toUtf8(); 
 
// QString转QByteArray方法2
QString str("hello");  
QByteArray bytes = str.toLatin1();  

9. QByteArray 转化为 char *

//QByteArray 转化为 char * 
//data()返回一个指针,指向存储在字节数组中的数据。指针可用于访问和修改组成数组的字节。
//数据以“\0”结束,即对于“\0”结束符,返回字符串中的字节数为size() + 1。
QByteArray ba("Hello world");
char *ch = ba.data();  //ch是指针

10. char * 转化为 QByteArray

char *ch = "Hello world";
QByteArray ba = QByteArray(ch);  //直接使用QByteArray()构造

11.QString 转 char *

QString  str("Hello world");;
char*  ch;
QByteArray ba = str.toLatin1(); // QString::toLatin1() 时会在字符串后面加上'\0'
ch=ba.data();

12. char*转QString

//方法一:
    char* str;
    QString string(str);

//方法二:不重新定义对象
inline QString charToQstring(char* charPara)
{
    return QString(QLatin1String(charPara));
}

你可能感兴趣的:(qt,开发语言)