📅  最后修改于: 2023-12-03 15:08:34.982000             🧑  作者: Mango
在C++中,使用 cout
打印浮点数时,默认只会保留小数点后6位。但是,实际上这并不是四舍五入的保留方式,而是默认向下取整。
使用 printf
函数可以指定保留小数点后的位数,而且可以四舍五入:
double x = 3.14159265;
printf("%.6f", x); // 保留6位小数,四舍五入
此时输出的结果为 3.141593
。
注意: printf
函数需要用到头文件 #include <cstdio>
。
使用 cout
打印浮点数时,可以通过 setprecision
方法设置输出精度,也可以选择浮点数的显示方式(科学计数法或定点表示法)。
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
double x = 3.14159265;
// 方式1:保留6位小数,四舍五入
cout << fixed << setprecision(6) << x << endl;
// 方式2:保留6位小数,向下取整
cout.precision(6);
cout << x << endl;
return 0;
}
输出结果:
3.141593
3.141592
注意:在使用 setprecision
方法时需要用到头文件 #include <iomanip>
。
以上是在 C++ 中打印最多 6 位小数的十进制数的两种方法。如果需要更多精度的小数计算,可以使用 C++ 提供的高精度库,如 GMP、MPFR、Boost.Multiprecision 等。