输出格式

setw(int n)

设置一个输出的宽度
n是宽度值 n必须是整数
这个操作符声明在iomanip里面

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
/******************************************************************************
setw
*******************************************************************************/
#include <iomanip> 
#include <iostream> 
using namespace std; 
  
int main() { 
    int num = 50; 
    cout << "Before setting the width:"<<endl;
    cout<< num << endl; 
    cout << "Setting the width using setw to 5:"<<endl; 
    cout <<setw(5)<< num << endl;  // Using setw() 
    return 0; 
} 

setprecision(int n)
是一个用于控制输出流中浮点数精度的操纵符,定义在 <iomanip> 头文件中。它的功能是设置浮点数的输出位数。

对于默认情况(即不启用fixed或者scientific的情况下),setprecision(n) 指定输出的总有效位数(包括小数点前后的位数)。如果使用了 fixed 模式,那么 setprecision(n) 将指定输出的小数点后的位数。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
#include <iostream>
#include <iomanip>
using namespace std;

int main(){
    float pi=3.14159265358;
    cout<<pi<<endl;    //默认六位精度
  //  pi=pi+3;
    cout<<pi<<endl;
    cout<<setprecision(5)<<pi<<endl;
    //用setprecision操作符 来控制显示浮点数值的有效数的数量。
  //  pi=pi*10;
   cout<<fixed<<setprecision(5)<<pi<<endl;  
  // 设置了fixed之后,setprecision()的精度值应该设置为小数的位数,而不是浮点数的有效数字位数
    //float类型最多6~7位精度
    return 0;
}

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
#include <iostream>
#include <iomanip>
using namespace std;

int main()
{
    float a=3.14159265358979323846;
    double b=3.14159265358979323846;
    cout<<setprecision(15)<<a<<endl;  // Float has 6~7 digits of precision.
    cout<<setprecision(15)<<b<<endl;  // Double has 15~16 digits of precision.
    return 0;
}
Scroll to Top