当前位置: 首页 > news >正文

QT之QString.arg输出固定位数

问题描述

我需要用QString输出一个固定位数的数字字符串。起初我的代码是这样:

int img_num = 1
auto new_name = QString("%1.png").arg((int)img_num, 3, 10, '0');  //最后一个参数用u'0'也是一样的
qDebug() << "new_name:" << new_name;

但是输出却是:

new_name: "1.000000000000000000000000000000000000000000000000.png"

最终有效的代码:

auto new_name = QString("%1.png").arg((int)img_num, 3, 10, QLatin1Char('0')); //修改的是最后一个参数

或者

auto new_name = QString("%1.png").arg((int)img_num, 3, 10, QChar('0')); //修改的是最后一个参数

输出效果

new_name: "001.png"

原因分析

QString.arg的原型函数是:

QString QString::arg(int a, int fieldWidth = 0, int base = 10, QChar fillChar = u' ') const

最后一个参数是QChar,这是一个16位的字符类型,并不是c++中的char。所以需要转换一下。

参考资料

QString格式化的几种用法:补零/进制转换/保留小数位等

http://www.lryc.cn/news/306645.html

相关文章:

  • Linux下各种压缩包的压缩与解压
  • 【ctfshow—web】——信息搜集篇1(web1~20详解)
  • GEE入门篇|遥感专业术语(实践操作4):光谱分辨率(Spectral Resolution)
  • c++中模板的注意事项
  • 【代码随想录python笔记整理】第十三课 · 链表的基础操作 1
  • JAVA工程师面试专题-《Mysql》篇
  • @ 代码随想录算法训练营第4周(C语言)|Day22(二叉树)
  • 福特锐界2021plus 汽车保养手册
  • c++进阶路线
  • python中的类与对象(2)
  • Android横竖屏切换configChanges=“screenSize|orientation“避免activity销毁重建,Kotlin
  • 【C语言基础】:操作符详解(二)
  • 模型训练基本结构
  • Redis 数据结构详解:底层实现与高效使用场景
  • Vue2:router-link的replace属性
  • 普中51单片机(DS18B20温度传感器)
  • 2.23C语言学习
  • origin/master master
  • 【数据结构】时间复杂度与空间复杂度
  • 分别使用js与jquery写 单击按钮时出现内容 点击删除按钮不会再向下出现
  • 【Git】Git命令的学习与总结
  • 前端工程化面试题 | 18.精选前端工程化高频面试题
  • 大公司的工程师是怎么废掉的...
  • 将yolov8权重文件转为onnx格式并在c#中使用
  • 在Spring Boot启动时禁止自动配置数据源相关的组件、@SpringBootApplication
  • 程序人生:不积跬步无以致千里
  • 通过二叉树例题深入理解递归问题
  • 【Android 协程常见用法】
  • python 进程笔记一 (概念+示例代码)
  • 各中间件数据库默认访问端口总结