C/C++ 输出控制小数点位数

C/C++输出控制小数点位数的方法

C++:

在C++中输出要控制小数点的位数需要用到头文件iomanip中的setprecision(n)和setiosflags(ios::fixed)

其中setprecision(n) 设置浮点数的有效数字为n

  setiosflags(ios::fixed) 设置浮点数以固定的小数位数显示

用法如下(代码示例)

#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
    double a=3.14159265358;                    
    cout<<a<<endl;                        //默认  输出为3.14159
    
    //加入setprecision(n)  设置浮点数有效数字 
    cout<<setprecision(3)<<a<<endl;        //将精度改为3(即有效数字三位) 输出3.14                        
    cout<<setprecision(10)<<a<<endl;    //将精度改为10  输出3.141592654 
    
    //加入setiosflags(ios::fixed)   设置浮点数以固定的小数位数显示
    cout<<setiosflags(ios::fixed)<<setprecision(2)<<a<<endl;    
    //控制精度为小数位  setprecision(3)即保留小数点2位    输出3.14 
    cout<<a<<endl;                //fixed和setprecision的作用还在,依然显示3.14
            
    return 0;
}

C语言:

C语言控制小数位数是通过控制格式说明符

#include<iostream>
#include<cstdio>
#include<iomanip>
using namespace std;
int main()
{
    double a=3.14159265358;                    
    printf("%.5f\n",a);            //输出3.14159 
    printf("%.2f\n",a);            //输出3.14    
    
    //"%.nf"    n表示输出小数点的位数         
    return 0;
}

参考:https://blog.csdn.net/xidian13071185/article/details/4672344