gpt4 book ai didi

c++ - QString::number() 'f' 格式没有尾随零

转载 作者:IT老高 更新时间:2023-10-28 23:17:30 26 4
gpt4 key购买 nike

我想将数字转换为具有 3 位有效数字的 QString

QString::number(myNumber,'f',3);

完成了这项工作,但仍然是尾随零。如何在没有它们的情况下使用它。

我也试过 'g' 并且不应该保留那些零:

QString::number(myNumber,'g',3);

但是例如 472.76 被转换为 473。这让我很惊讶。 'g' 选项为什么会这样?

但是我对 'f' 格式感兴趣。所以主要问题是如何用 'f' 做到这一点而没有尾随零?

输入 -> 期望的输出

472.76 -> 472.76

0.0766861 -> 0.077

180.00001 -> 180

最佳答案

我几乎不好意思发布这个,但它有效:

QString toString( qreal num )
{
QString str = QString::number( num, 'f', 3 );

str.remove( QRegExp("0+$") ); // Remove any number of trailing 0's
str.remove( QRegExp("\\.$") ); // If the last character is just a '.' then remove it

return str;
}

如果您真的担心使用此方法的性能,您可能想提出不同的解决方案。

关于c++ - QString::number() 'f' 格式没有尾随零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12459059/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com