QString与基本数据类型的转换

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<<"星期一"<<"星期二"<<"星期三"<<"星期四";

	// 链表中是否有星期八: false
    qDebug()<<"链表中是否有星期八:"<<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();

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值