c++ setprecision用法 c++控制输出小数位数

setprecision用于控制浮点数输出精度,包含在头文件中。不使用fixed时,setprecision(n)设置有效数字总位数;配合fixed时,指定小数点后保留n位。例如cout

在C++中,setprecision 是用来控制浮点数输出精度的常用方法,通常用于控制小数点后保留的位数。它定义在 头文件中,需要包含该头文件才能使用。

基本用法

setprecision(n) 设置浮点数输出时总共显示的有效数字位数(默认是总位数,不是小数点后的位数),具体行为取决于是否配合 fixed 使用。

示例代码:
#include 
#include 
using namespace std;

int main() {
    double num = 3.1415926;

    cout << setprecision(5) << num << endl; 
    // 输出:3.1416 (共5位有效数字)

    cout << fixed << setprecision(5) << num << endl; 
    // 输出:3.14159 (小数点后5位)

    return 0;
}

fixed 与 setprecision 的关系

如果不使用 fixedsetprecision(n) 表示整个数值的有效数字位数(科学计数法或普通形式)。

如果使用了 fixed,则 setprecision(n) 表示小数点后保留 n 位。

  • cout → 输出:3.14(3位有效数字)
  • cout → 输出:3.142(保留3位小数)

常见用途:保留两位小数

在金融、成绩统计等场景中,经常需要保留两位小数输出。

cout << fixed << setprecision(2) << 123.456;
// 输出:123.46

注意会自动四舍五入。

注意事项

  • 必须包含头文件
  • setprecision 的设置在后续输出中持续有效,直到再次更改。
  • 若要恢复默认格式,可使用 cout.unsetf(ios::fixed) 或重新设置格式。
基本上就这些。关键是记住:想要控制“小数点后几位”,就要搭配 fixed 使用。