使用 fixed 和 setprecision(n) 可控制浮点数输出的小数位数,其中 n 为小数点后位数;不使用 fixed 时 setprecision(n) 控制有效数字位数,常用于货币或科学计算输出。

在C++中,使用 cout 输出浮点数时,默认只显示6位有效数字。如果需要控制输出的精度(比如保留2位小数或指定有效位数),可以通过
1. 使用 fixed 和 setprecision 控制小数位数
最常用的方法是结合 fixed 和 setprecision(n),其中 n 表示小数点后保留的位数。
- fixed:启用定点表示法(即固定小数位数)
- setprecision(n):设置小数点后的精确位数(当与 fixed 配合时)
示例代码:
#include#include // 必须包含这个头文件 using namespace std; int main() { double num = 3.14159265;
cout zuojiankuohaophpcnzuojiankuohaophpcn fixed zuojiankuohaophpcnzuojiankuohaophpcn setprecision(2); cout zuojiankuohaophpcnzuojiankuohaophpcn num zuojiankuohaophpcnzuojiankuohaophpcn endl; // 输出:3.14 return 0;}
立即学习“C++免费学习笔记(深入)”;
2. 不使用 fixed:setprecision 控制有效数字位数
如果不使用 fixed,setprecision(n) 设置的是总的有效数字位数,而不是小数点后的位数。
示例:
cout << setprecision(3); cout << 3.14159 << endl; // 输出:3.14(3位有效数字) cout << 123.456 << endl; // 输出:1233. 恢复默认输出格式
如果想取消 fixed 格式,可以使用 defaultfloat(C++11 起支持)。
cout << defaultfloat; cout << 3.14159 << endl; // 恢复默认格式输出4. 常见应用场景
在处理货币、测量数据或科学计算时,通常需要统一小数位数。例如:
double price = 19.9; double tax = price * 1.1;cout << "价格: " << fixed << setprecision(2) << tax << " 元" << endl; // 输出:价格: 21.89 元
基本上就这些。只要记住:要按小数位输出,就用 fixed + setprecision(n),简单又实用。











