我遇到了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;
答案 0 :(得分:0)
来自QTextStream::setFieldWidth
documentation
注意:字段宽度适用于在调用此函数后附加到此流的每个元素(例如,它还会填充endl)。 这种行为与STL中的类似类不同 字段宽度仅适用于下一个元素。
因此,在输出&#39;%&#39;之前,您需要将字段宽度重置为零。字符。