1. arg
在Qt中 arg() 有很多的重载函数。
QString QString::arg(longlong a, int fieldWidth = 0, int base = 10, QChar fillChar = QLatin1Char( ’ ’ )) const
即arg(整数类型,补位数,进制,补位字符);
示例:
QString str= QString::number(18);
// str转为int 输出占4位 十进制输出 前位补0
QString strNew = QString("%1").arg(str.toInt(), 4, 10, QLatin1Char('0'));
qDebug() << strNew; // 结果strNew = "0018"
QString str16= QString::number(12);
// str转为int 输出占4位 十六进制输出 前位补0
QString strNew16 = QString("%1").arg(str16.toInt(), 4, 16, QLatin1Char('0'));
qDebug() << strNew16; //结果strNew16 = "000c"
QString str2= QString::number(5);
// str转为int 输出占4位 二进制输出 前位补0
QString strNew2 = QString("%1").arg(str2.toInt(), 4, 2, QLatin1Char('0'));
qDebug() << strNew2; //结果strNew2 = "101"
这种方法使用比较简单灵活。
2.sprintf
sprintf 格式化的方法:像C语言一样一个古老的方法。
// %02d:0代表补位的值为零、2表示位数。
strNumber = strNumber.sprintf("%02d:%02d:%02d", hour, minute, seconds);