📅  最后修改于: 2023-12-03 15:24:08.460000             🧑  作者: Mango
在 C++ 中,浮点数默认情况下只能获得 6 位小数,如果需要获得 4 位小数,可以使用以下两种方法:
使用流控制符 cout
或 printf
,可以通过指定小数点后的精度来获得想要的小数位数。例如:
#include <iostream>
#include <cstdio>
using namespace std;
int main() {
double a = 3.1415926535;
cout << fixed << setprecision(4) << a << endl; // 保留4位小数输出
printf("%.4lf\n", a); // 保留4位小数输出
return 0;
}
输出结果:
3.1416
3.1416
fixed
表示将小数点后的位数定死,不受默认精度控制,“4” 表示保留 4 位小数。
除了处理浮点数,数值计算库还提供了大量的高级数值计算功能,例如高精度计算、矩阵运算、多项式运算等。在 C++ 中,最常用的数值计算库是 Boost.Numeric,它提供了丰富的数学函数、数据类型和算法,以及高性能的计算效率。以下是 Boost.Numeric 实现保留 4 位小数的例子:
#include <iostream>
#include <boost/format.hpp>
using namespace std;
using boost::format;
int main() {
double a = 3.1415926535;
cout << format("%.4f") % a << endl; // 使用 format 格式化输出
return 0;
}
输出结果:
3.1416
%
表示将 a 插入到格式字符串中,format() 函数返回一个格式化的字符串。
以上就是在 C++ 中获得 4 位小数的两种方法。需要注意的是,作为计算程序员,精度会直接影响计算结果的准确性,因此在编写程序时要特别小心。