C++输出控制有效数字、小数点后位数

c++中实现输出控制有效数字

  • 头文件
1
2
3
4
5
6
7
8
9
10
#include <iostream>
#include <iomanip> //头文件
using namespace std;
int main(){
double x;
int n;
cin >> x >> n;
cout << setprecision(n) << x; //以n位有效数字输出x
return 0;
}

控制小数点后位数

1
2
3
4
5
6
7
8
9
10
#include <iostream>
#include <iomanip> //头文件
using namespace std;
int main(){
double x;
int n;
cin >> x >> n;
cout << fixed << setprecision(n) << x; //以n位小数输出x
return 0;
}
  • fixedsetprecision()连用可保证使用定点数输出浮点数
  • 以实现控制小数点后位数,而非没有fixed时的有效数字(包含小数点前)

有效数字

有效数字(英文:Significant Figures, 或简写为Sig. Fig.),其代表一个是由若干位数字组成,其中影响其测量精度的数字被称作有效数字,也称有效数位。[1]

有效数字指科学计算中用以表示一定长度浮点数精度的那些数字。一般指一个用小数形式表示的浮点数中,从第一个非零的数字算起的所有数字,因此,1.24和0.00124的有效数字都有3位。并且在取有效数字时一般会遵循四舍五入进位规则[2]。例如取1.23456789为三位有效数字后的数值将会是1.23,而取四位有效数字后的数值将会是1.235。

辨别有效数字

简单的规则如下:

  • 所有非零数字都是有效的;
  • 非零数字间的零都是有效的;
  • 前缀零始终无效;
  • 对于需要小数点的数,后缀零(最后一个非零数字后的零)是有效的;
  • 对于不需要小数点的数,后缀零可能有效也可能无效。需要根据额外的符号或者误差信息决定。

C++输出控制有效数字、小数点后位数
https://cdro.tech/notes/CS/cpp-setprecision/
作者
k9Q6CK42
发布于
2023年9月17日
许可协议