cout保留3位小数点输出浮点数

#include<iostream>
#include<iomanip>

using namespace std;
int main()
{
    double n;
    cin>>n;
    cout.setf(ios::fixed);
    if(n>=0&&n<5)
        cout<<setprecision(3)<<2.5-n<<endl;
    else if(n>=5&&n<10)
        cout<<setprecision(3)<<2-1.5*(n-3)*(n-3)<<endl;
    else if(n>=10&&n<20)
        cout<<setprecision(3)<<n/2-1.5<<endl;
    cout.unsetf( ios::fixed );    //取消fixed控制
        return 0;
}

三个阶段都是输出保留三位小数的浮点数

#include<iostream>
#include<iomanip>

using namespace std;
int main()
{
    double n;
    cin>>n;
    if(n>=0&&n<5)
        cout<<fixed<<setprecision(3)<<2.5-n<<endl;
    else if(n>=5&&n<10)
        cout<<setprecision(3)<<2-1.5*(n-3)*(n-3)<<endl;
    else if(n>=10&&n<20)
        cout<<setprecision(3)<<n/2-1.5<<endl;
        return 0;
}

只有0<=n<5时输出保留三位小数的浮点数,下面两个为保留三位有效数。

显然第二个代码这影响这一个cout语句

发布了43 篇原创文章 · 获赞 17 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/Hitmi_/article/details/83867740