QString转10进制
- 字符串是十进制,转为十进制
toInt(&ok, 10)
- 字符串是十六进制,转为十进制
toInt(&ok, 16)
第一种:字符串为"100"(十进制)转为十进制数字100
bool ok;
int numb;
QString str = "100"
numb = str.toInt(&ok, 10);
qDebug()<<numb; //输出为:100(int)
第一种:字符串为"FF"(十六进制)转为十进制数字255
bool ok;
int numb;
QString str = "FF"
numb = str.toInt(&ok, 16);
qDebug()<<numb; //输出为:255(int)
QString转QByteArray
- 按照ASCII编码转换,无法转换中文
toLatin1()
- 按照UTF-8编码转换,可以转换中文
toUtf8()
第一种:
QByteArray byte;
QString str("test_测试");
byte = str.toLatin1();
qDebug()<<byte; //输出为:test_口?
第二种:
QByteArray byte;
QString str("test_测试");
byte = str.toUtf8();
qDebug()<<byte; //输出为:test_测试
QString转double
- QString直接转double
toDouble()
- QString转double(科学计数法)
toDouble(&ok)
第一种
double value;
QString str = "3.1415"
value = str.toDouble();
qDebug()<<value; //输出为:3.1415(double)
第二种
bool ok;
double value;
QString str = "314.15926e-02"
value = str.toDouble(&ok);
qDebug()<<value; //输出为:3.1415926(double)
double转QString
double直接转QString
QString::number()
QString str;
double value = 3.1415;
str = QString::number(value, 'f', 2);
qDebug()<<str; //输出为:3.14(QString)
int转QString
- int直接转QString
QString::number(int);
- int转QString(十六进制)
QString::number(int, 16);
第一种
QString str;
int value = 12;
str = QString::number(value);
qDebug()<<str; //输出为:12(QString)
第二种
QString str;
int value = 43981;
str = QString::number(value,16);
qDebug()<<str; //输出为:abcd(QString)
QByteArray转QString
QByteArray Data;
QString str = QString(Data);