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()。

最新文章

  1. debug : 应用程序无法正常启动(0xc000007b)
  2. iOS中的交换空间(swap space)
  3. iOS开发随笔
  4. JavaScript中的编码函数
  5. asp.net页面后退,重复弹出上一页对话框处理办法
  6. 从C++研发到前端工程师
  7. Redis 安装 启动 连接 配置 重启
  8. 【性能诊断】十一、性能问题综合分析(案例2,windbg、wireshark)
  9. Centos环境下部署游戏服务器-常用命令
  10. Android构建boot.img(一):root目录与ramdisk.img的生成
  11. QStyle
  12. android 48 广播
  13. 源码解析之–网络层YTKNetwork
  14. 同时安装Xcode6和Xcode7导致出现N多UUID 模拟器解决办法
  15. linux内核学习之一:环境搭建--安装Debian7.3
  16. jsp页面onsubmit=&amp;quot;return checklogin();&amp;quot;该解决方案给
  17. WebRequest调用
  18. Spring同mybatis整合讲义(事物)
  19. BZOJ3932 主席树
  20. MySQL使用AUTO_INCREMENT列的表注意事项之update自增列篇

热门文章

  1. timedatectl — Control the system time and date
  2. Kubernetes实战(二):k8s v1.11.1 prometheus traefik组件安装及集群测试
  3. Linux中的Buffer Cache和Page Cache echo 3 &gt; /proc/sys/vm/drop_caches Slab内存管理机制 SLUB内存管理机制
  4. POI - Excel API
  5. spring基础-01
  6. 系统管理命令之last
  7. java之简单工厂
  8. mysql索引之聚簇索引与非聚簇索引
  9. 【图像处理】计算Haar特征个数
  10. 《Java程序设计》第三章-基础语法