【问题标题】:QTextStream fixed point formatting issueQTextStream 定点格式化问题
【发布时间】:2017-06-12 04:18:43
【问题描述】:

我遇到了 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;

【问题讨论】:

    标签: qt formatting qtextstream


    【解决方案1】:

    来自QTextStream::setFieldWidth documentation

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

    所以你需要在输出'%'字符之前将字段宽度重置为零。

    【讨论】:

    • 啊。当我读到它时,我认为它意味着所有元素的集合。现在它是有道理的。不过,这是一种奇怪而烦人的行为……
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-03
    • 2021-03-23
    • 1970-01-01
    相关资源
    最近更新 更多