Qt:格式化QString中的整数

时间:2014-02-25 14:47:02

标签: c++ qt integer format qstring

我想格式化QString中的整数。我想总是有6个号码。 例如,“1”应为“000001”,“12”应为“000012”。

我尝试使用printf(%06d, number)。所以我写了这个

QString test; test = QString("%06d").arg(QString::number(i)); qDebug()<<test;

我是在循环for中实现的。 但是因为我有:

,它不起作用
  

“0D”   “1D”   “2D”   “3D” ...

有人知道怎么做吗?

3 个答案:

答案 0 :(得分:5)

String的参数支持不像printf那样工作。这些都记录在案。你想要的是:

QString test = QString("%1").arg(i, 6, 10, QLatin1Char('0'));

答案 1 :(得分:0)

您可以尝试以下方法:

int a = 12;
QString test = QString("%1").arg(a, 6, 'g', -1, '0');
qDebug() << test; // outputs "000012"

答案 2 :(得分:0)

查看QTextStream的文档。有许多格式设置以及一些方便的操纵器。这类似于STL iostream

中的文本操纵符