使用场景
对数据等的编号,为了对齐,常常会用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();
}