一句话理解
fixed 让浮点按定点小数方式输出。
为什么要学
没有它,setprecision 的含义会变成有效数字。
讲解
cout << fixed; 之后,精度控制的是小数点后面有几位。
它可以一直生效,直到你改回其他格式。一份程序里通常在输出答案前设置一次。
和科学计数法相对:很大的数默认可能打印成 1e+09,用了 fixed 会打印成普通小数。
例子
double x = 12345.6789;
cout << x << "\n";
cout << fixed << x << "\n";
第一行可能是默认格式;第二行变成定点小数。具体样子和编译器默认精度有关,但含义不同。
常见错误
- 只写 setprecision 不写 fixed,结果和想象的位数不一致。
- 对整数输出也乱加 fixed。