在C++中以cout方式输出并保留n位小数,首先需要引入iomanip(input/output manipulator, 输入输出操纵器)头文件。
#include<iomanip>
fixed和setprecision(n)是iomanip中的流操纵器,可用于控制输入/输出流的格式等。一旦设置,格式会持续生效,直到被显式修改或程序结束。
1.仅使用fixed。
输出浮点型数据,默认保留6位小数,四舍五入。
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
double x = 3.141592653589793;
cout << "Default: " << x << endl; // "3.14159"
cout << "Fixed: " << fixed << x << endl; // "3.141593"
return 0;
}
2.仅使用setprecision(n)。
四舍五入保留n位有效数字。
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
double a = 3.14159265;
double b = 12345.6789;
double c = 0.000123456;
cout << "a (precision=3): " << setprecision(3) << a << endl; // "3.14"
cout << "a (precision=5): " << setprecision(5) << a << endl; // "3.1416"
cout << "b (precision=5): " << setprecision(5) << b << endl; // "12346"
cout << "c (precision=2): " << setprecision(2) << c << endl; // "0.00012"
return 0;
}
3.fixed和setprecision(n)结合使用。
四舍五入保留n位小数。
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
double x = 3.141592653589793;
cout << fixed << setprecision(2) << x << endl; // "3.14"
cout << fixed << setprecision(4) << x << endl; // "3.1416"
return 0;
}
705

被折叠的 条评论
为什么被折叠?



