我想将数字转换为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;
}
如果你真的关心使用这种方法的性能,你可能想要一个不同的解决方案.