Qt 字符串设置固定宽度,前位补0

来源:互联网 发布:淘宝刷销量好评 编辑:程序博客网 时间:2024/06/06 05:12

使用场景

对数据等的编号,为了对齐,常常会用0001,0002,….,1001等表示,在Qt中用QString可以进行相关转换操作,还能对十六进制、二进制等转换。


代码如下:

#include <QCoreApplication>#include <QDebug>int main(int argc, char *argv[]){    QCoreApplication a(argc, argv);    //输出10进制    QString str= QString::number(17);    //10进制数 17  4位  前位补0    QString strNew = QString("%1").arg(str.toInt(), 4, 10, QLatin1Char('0'));    qDebug() << strNew;  //strNew = "0017"    //输出二进制    QString str2= QString::number(9);    //10进制数 9  4位  前位补0    QString strNew2 = QString("%1").arg(str2.toInt(), 4, 2, QLatin1Char('0'));    qDebug() << strNew2;  //strNew2 = "1001"    //输出16进制    QString str16= QString::number(11);    //10进制数 11  4位  前位补0    QString strNew16 = QString("%1").arg(str16.toInt(), 4, 16, QLatin1Char('0'));    qDebug() << strNew16;  //strNew16 = "000b"    return a.exec();}