1

我遇到了 QTextStream 格式的问题。我正在使用下面的代码从 quint8 打印一个百分比,它似乎在数字和小数点之间给了我一个空格。例如,我会得到“50%”而不是“50%”和“100%”而不是“100%”。

我的问题是什么?

QString retVal;
QTextStream retStream(&retVal);
retStream.setRealNumberNotation(QTextStream::FixedNotation);
retStream.setRealNumberPrecision(0);
retStream << qSetFieldWidth(2)
          << (100*((float)myQuint8)/255.0) << "%";
return retVal;
4

1 回答 1

1

QTextStream::setFieldWidth文档

注意:字段宽度适用于调用此函数后附加到此流的每个元素(例如,它也填充 endl)。这种行为与 STL 中的类似类不同,后者的字段宽度仅适用于下一个元素。

因此,您需要在输出 '%' 字符之前将字段宽度重置为零。

于 2017-06-12T07:15:02.777 回答