多个数值转QString
2024-09-27 12:07:55
int, float, double等数值类型转换为QString的方法
1. 用QTextStream
QTextStream类可以用数据流的方式直接将任意多个数值、字符、字符串等传入QString。举例如下:
QString strData;
double a1 = 3.14;
int a2 ;
QTextStream(&strData) <<a1 <<"-"<<a2 ;
用法还比较简单,但是设置数值类型的格式不太方便。
2. 用QString::arg() (推荐)
QString::arg()是QString类中的一个重载函数,可以转换各种数值类型,并设置输出格式。
下面是Qt官方文档中的说明。
QString arg(const QString & a, int fieldWidth = , QChar fillChar = QLatin1Char( ' ' )) const
QString arg(const QString & a1, const QString & a2) const
QString arg(const QString & a1, const QString & a2, const QString & a3) const
QString arg(const QString & a1, const QString & a2, const QString & a3, const QString & a4) const
QString arg(const QString & a1, const QString & a2, const QString & a3, const QString & a4, const QString & a5) const
QString arg(const QString & a1, const QString & a2, const QString & a3, const QString & a4, const QString & a5, const QString & a6) const
QString arg(const QString & a1, const QString & a2, const QString & a3, const QString & a4, const QString & a5, const QString & a6, const QString & a7) const
QString arg(const QString & a1, const QString & a2, const QString & a3, const QString & a4, const QString & a5, const QString & a6, const QString & a7, const QString & a8) const
QString arg(const QString & a1, const QString & a2, const QString & a3, const QString & a4, const QString & a5, const QString & a6, const QString & a7, const QString & a8, const QString & a9) const
QString arg(int a, int fieldWidth = , int base = , QChar fillChar = QLatin1Char( ' ' )) const
QString arg(uint a, int fieldWidth = , int base = , QChar fillChar = QLatin1Char( ' ' )) const
QString arg(long a, int fieldWidth = , int base = , QChar fillChar = QLatin1Char( ' ' )) const
QString arg(ulong a, int fieldWidth = , int base = , QChar fillChar = QLatin1Char( ' ' )) const
QString arg(qlonglong a, int fieldWidth = , int base = , QChar fillChar = QLatin1Char( ' ' )) const
QString arg(qulonglong a, int fieldWidth = , int base = , QChar fillChar = QLatin1Char( ' ' )) const
QString arg(short a, int fieldWidth = , int base = , QChar fillChar = QLatin1Char( ' ' )) const
QString arg(ushort a, int fieldWidth = , int base = , QChar fillChar = QLatin1Char( ' ' )) const
QString arg(QChar a, int fieldWidth = , QChar fillChar = QLatin1Char( ' ' )) const
QString arg(char a, int fieldWidth = , QChar fillChar = QLatin1Char( ' ' )) const
QString arg(double a, int fieldWidth = , char format = 'g', int precision = -, QChar fillChar = QLatin1Char( ' ' )) const
以int类型为例,fieldWidth表示整个数值所占的长度,base表示进制数(如10,8,2等),fillChar表示填充的字符。
int a1 = ;
int a2 = ;
QString strData = QString("%1-%2").arg(a1, , , QChar('')).arg(a2, , , QChar(''));
这样strData = "123-038"
关于QString("%1-%2"),可以参看官方说明:
QString status = QString("Processing file %1 of %2: %3").arg(i).arg(total).arg(fileName);
“First, arg(i) replaces %1. Then arg(total) replaces %2. Finally, arg(fileName) replaces %3.”
也就是说QString("%1-%2")中的"%1"和"%2"分别对应a1的arg()和a2的arg()。
最新文章
- debug : 应用程序无法正常启动(0xc000007b)
- iOS中的交换空间(swap space)
- iOS开发随笔
- JavaScript中的编码函数
- asp.net页面后退,重复弹出上一页对话框处理办法
- 从C++研发到前端工程师
- Redis 安装 启动 连接 配置 重启
- 【性能诊断】十一、性能问题综合分析(案例2,windbg、wireshark)
- Centos环境下部署游戏服务器-常用命令
- Android构建boot.img(一):root目录与ramdisk.img的生成
- QStyle
- android 48 广播
- 源码解析之–网络层YTKNetwork
- 同时安装Xcode6和Xcode7导致出现N多UUID 模拟器解决办法
- linux内核学习之一:环境搭建--安装Debian7.3
- jsp页面onsubmit=&;quot;return checklogin();&;quot;该解决方案给
- WebRequest调用
- Spring同mybatis整合讲义(事物)
- BZOJ3932 主席树
- MySQL使用AUTO_INCREMENT列的表注意事项之update自增列篇
热门文章
- timedatectl — Control the system time and date
- Kubernetes实战(二):k8s v1.11.1 prometheus traefik组件安装及集群测试
- Linux中的Buffer Cache和Page Cache echo 3 >; /proc/sys/vm/drop_caches Slab内存管理机制 SLUB内存管理机制
- POI - Excel API
- spring基础-01
- 系统管理命令之last
- java之简单工厂
- mysql索引之聚簇索引与非聚簇索引
- 【图像处理】计算Haar特征个数
- 《Java程序设计》第三章-基础语法