c – QString :: number()’f’格式,不带零尾

我想将数字转换为QString,有3位数字.
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,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&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...