Qt C++ double 类型四舍五入保留三位小数
时间: 2024-09-19 10:06:13 浏览: 86
在Qt C++中,如果你想对`double`类型的数值进行四舍五入并保留三位小数,你可以使用`QRound()`函数或者`std::setprecision()`结合`std::fixed`控制精度,然后将结果转换为字符串显示。下面是一个例子:
```cpp
#include <QCoreApplication>
#include <iomanip>
double input = 3.14159;
int precision = 3;
// 使用QRound()
QString roundedWithQRound = QString::number(QRound(input * 1000) / 1000, 'f', precision);
// 或者使用C++标准库
std::ostringstream oss;
oss << std::fixed << std::setprecision(precision) << input;
QString roundedWithStandardLibrary = oss.str();
QCoreApplication::processEvents(); // 可选,用于确保输出立即可见
qDebug() << "Using QRound(): " << roundedWithQRound;
qDebug() << "Using std::setprecision(): " << roundedWithStandardLibrary;
```
在这个例子中,`QRound()`会直接对小数点后的位数进行四舍五入,而`std::setprecision()`则是在输出前设置浮点数的精度。
阅读全文