当前位置: 首页> 财经> 金融 > 比较stl库的ostringstream与Qt的QString::arg(),QString::number()

比较stl库的ostringstream与Qt的QString::arg(),QString::number()

时间:2025/7/14 6:29:38来源:https://blog.csdn.net/liji_digital/article/details/142151182 浏览次数:0次

需求:

显示一个float或者double类型的数,要求小数点后的数字位数为定值。

考虑STL库的ostringstream或者Qt的QString::arg(), number

对于stringstream,使用比较繁琐,要联合使用std::fixed和std::setprecision才能实现固定小数位数显示,qstring则要简单一些。看示例:

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <sstream>
#include <iomanip>MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);double d = 211.23;std::ostringstream oss;oss<<std::fixed<<std::setprecision(6)<<d;ui->lineEdit->setText(QString::fromStdString(oss.str()));ui->lineEdit_2->setText(QString("%1").arg(d, 0, 'f', 6));ui->lineEdit_3->setText(QString::number(d, 'f', 6));
}MainWindow::~MainWindow()
{delete ui;
}

效果:

注意,使用qstring的时候,不论使用arg还是number,format输入参数都必须是'f',不能用'g',否则可能无法获得理想的效果。

关键字:比较stl库的ostringstream与Qt的QString::arg(),QString::number()

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: