> 文章列表 > QString与基本数据类型的转换

QString与基本数据类型的转换

QString与基本数据类型的转换

文章目录

  • 1、QString常用转换
    • 1.1、QString转(int、float、double)
    • 1.2、(int,float,double)转(QString)
    • 1.3、const char* 转QString
    • 1.4、 QString 转 QByteArray 转const char*
  • 2、常用方法
    • 2.1、拼接
    • 2.2、返回索引字符at(n)
    • 2.3、插入字符串
    • 2.4、字符串替换
    • 2.5、字符串去掉空格
    • 2.6、分割字符串(split、mid)
  • 3、QStringList 字符串链表
    • 3.1、遍历
    • 3.2、包含contains()
    • 3.3、插入元素insert
    • 3.4、删除

1、QString常用转换

1.1、QString转(int、float、double)

// 转int
QString strAge("18");
int age = strAge.toInt();// 转float
QString strPI("3.14");
float PI = strPI.toFloat();// 转double
double dPI = strPI.toDouble();

1.2、(int,float,double)转(QString)

int year = 1949;
float width = 6.6f;QString strYear,strHeight;
strYear = strYear.number(year);
strHeight = strHeight.setNum(width);qDebug()<<strYear;
qDebug()<<strHeight;

1.3、const char* 转QString

const char* hi = "hi";
QString strhi(hi);qDebug() << strhi;

1.4、 QString 转 QByteArray 转const char*

QString strTom = "TOM";
QByteArray bstrtom = strTom.toUtf8();
const char* cTom = bstrtom.data();qDebug() << cTom;

示例

QString str("hello");
qDebug() << str; // "hello"// QString->ByteArray->char*
qDebug() << str.toUtf8().data(); // hello

2、常用方法

2.1、拼接

QString speopeo0 = QString("%1%2%3").arg("今天").arg(11).arg("点");
qDebug()<<speopeo0;

2.2、返回索引字符at(n)

QString sAnimal = "crab";QChar c = sAnimal.at(2);
qDebug()<<c;

2.3、插入字符串

QString sMen = "三";
QString SFish = "鱼的记忆是秒钟的故事";
// 第5给位置插入sMen这个字符串
SFish.insert(5,sMen.toUtf8());
qDebug()<<SFish;// prepend 在字符串起始位置插入
SFish.prepend("热带");
qDebug()<<SFish;

2.4、字符串替换

// replace() 替换 参数:替换起始位置,替换字符数,替换的内容
SFish.replace(7,3,"三个月");
qDebug()<<SFish;

2.5、字符串去掉空格

// trimmed() 去除字符串两端的空格
SFish = "        "+SFish+"       ";
qDebug()<<SFish;
qDebug()<<SFish.trimmed();// simplified 去除两端空格, 中间空格以一个空格替代
SFish = "Fish   had a   bad   memory.   ";
qDebug()<<SFish.simplified();

2.6、分割字符串(split、mid)

QString strTime  = "1949/10/1";
QStringList timeList = strTime.split("/");
foreach(QString ss,timeList)qDebug()<<ss;// mid() 截取字符串 从第五个字符开始截取,截取三个字符
QString SFriends = "汤姆和猫是好朋友";
qDebug()<<SFriends.mid(5,3);

3、QStringList 字符串链表

3.1、遍历

QStringList weekList;
weekList<<"星期一"<<"星期二"<<"星期三"<<"星期四";
weekList.append("星期五");
qDebug()<<weekList; // ("星期一", "星期二", "星期三", "星期四", "星期五")
for(int i=0;i<weekList.size();i++)qDebug()<<weekList.at(i);// STL迭代器
QStringList::iterator it = weekList.begin();
for(;it!=weekList.end();it++)
{qDebug()<<*it;
}

3.2、包含contains()

    QStringList weekList;weekList<<"星期一"<<"星期二"<<"星期三"<<"星期四";// 链表中是否有星期八: falseqDebug()<<"链表中是否有星期八:"<<weekList.contains("星期八");

3.3、插入元素insert

	QStringList weekList;weekList<<"星期一"<<"星期二"<<"星期三"<<"星期四";weekList.insert(0,"星期零");qDebug()<<weekList; // ("星期零", "星期一", "星期二", "星期三", "星期四")

3.4、删除

// removeFirst() 删除头
weekList.removeFirst();// 删除尾
weekList.removeLast();// removeOne 删除某个元素
weekList.removeOne("星期一");// 删除指定位置元素
weekList.removeAt(0);// 清空
weekList.clear();