QStringList和QStriing

本文介绍在C++ Qt环境下如何使用QStringList进行字符串的拆分与合并,以及如何在QString与数值类型间进行转换。通过示例代码展示了如何利用split()和join()函数对字符串进行处理,并通过toDouble()和number()函数实现不同类型之间的转换。
int main(int argc, char *argv[])
{

    QString strRaw = "1,2,3,4,5,6,7,8,9";
	QStringList strList;  
	double strRawValue;
	std::vector<int> strRawValue1;
	QString strRawValue_String;
	QString str_String;

	strList = strRaw.split(","); //拆分字符串
	qDebug() << "strList.size()="<<strList.size() << endl;

	for (int i = 0; i < strList.size(); i++)
	{
		qDebug() << i + 1 << " : " << strList[i] << endl;
		strRawValue = strList[i].toDouble();  //将QStringList字符串转化为数值
		strRawValue1.push_back(strRawValue);   // 将得到数值push_back到一起

//////////////////////////////////////////////////////////////////////////////////
		strRawValue_String = QString::number(strRawValue,'F', 0);   //将double数值转化为字符串,0表示保留0位小数
		str_String = str_String.append(strRawValue_String);            //将字符串append(),到一起;
	}
	qDebug() << strRawValue << endl;
	


	QString strListConnect;
	strListConnect = strList.join(","); //合并字符串
	qDebug() << strListConnect << endl;


	

}

 

### 关于 QString QStringList 的相互转换 #### 将 QString 转换为 QStringList 可以通过 `QString` 提供的分割函数实现将单个字符串拆分为多个子字符串并存储到 `QStringList` 中。以下是具体方法: ```cpp #include <QString> #include <QStringList> QString str = "apple,banana,cherry"; QStringList list = str.split(","); // 使用逗号作为分隔符 // 输出结果:["apple", "banana", "cherry"] ``` 此操作利用了 `split()` 方法[^1],可以根据指定的分隔符将字符串分解成列表。 --- #### 将 QStringList 转换为 QString 如果需要将一个 `QStringList` 合并为单一的 `QString`,可以使用 `join()` 函数。该函数允许通过指定连接符来组合各个元素。 ```cpp QStringList list; list << "apple" << "banana" << "cherry"; QString result = list.join(", "); // 使用 ", " 连接各元素 // 输出结果:"apple, banana, cherry" ``` 这里展示了如何通过调用 `join()` 来完成反向的操作。 --- #### 隐式转换注意事项 需要注意的是,虽然 `QStringList` 可以隐式转换为 `QList<QString>`,但反过来则不支持自动转换。因此,在处理两者之间的关系时需特别注意上下文环境的要求。 另外,当涉及到更复杂的编码场景比如从 `QString` 到字节数组 (`QByteArray`) 的转变,则应采用 `.toUtf8()` 等方式来进行有效转化[^2]。 对于数值类型的转换也有相应机制,例如把表示数字的字符串形式转化为实际整数类型可通过如下手段达成[^4]: ```cpp QString numStr = "12345"; int number = numStr.toInt(); qDebug() << "Converted integer:" << number; ``` 综上所述,无论是简单的拼接还是解析过程亦或是其他数据形态间的互换都有成熟的解决方案可供选用。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值