C++ 笔记(36)—— std::cout 输出保留小数位数

需要头文件 #include <iomanip>

  • setprecision() 来用来保存有效数字,fixedsetprecision() 一起用就变成保存小数点后有效数字。
  • fixed 可以通过 cout.unsetf(ios::fixed) ; 这段代码关掉。不然会一直开着。
  • fixed 有个地方需要注意的是可以保存的有效数字包括0,不开 fixed 的话,即使保存3个有效数字,小数点后的0也会自动省略。即 1.2 要是 setprecision(3) 结果还是1.2 而不是1.20. 所以通常想要像在 printf() 中一样使用,都是要开 fixed 的!
#include <iostream>
#include<iomanip>
using namespace std;


int main()
{
    //需要头文件#include <iomanip>
    double a=46.21534,b=1.20001;
    cout.setf(ios::fixed);                      //功能和下一行的fixed功能一样,同时写没关系
    cout<<fixed<<setprecision(2)<<b<<endl;      //输出结果为1.20
    cout.unsetf(ios::fixed);
    cout << setprecision(2) << b<<endl;         //输出结果为1.2
    cout<<setprecision(5)<<a<<endl;             //输出结果为46.215
    cout<<setprecision(1)<<a<<endl;             //输出结果为5e+001
    return 0;
}
#include <iostream>
#include <iomanip>
#include <cmath>

const double PI = 3.1415926;
int main()
{
    int r;

    std::cin >> r;

    double area = 4.0 / 3 * PI * pow(r, 3);  
//     std::cout.setf(std::ios::fixed);  
    std::cout << std::fixed << std::setprecision(3) << area << std::endl;
    return 0;
    
}
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wohu007

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值