C++保留任意小数点后位数与格式化输出

直奔主题:
1、保留有效数字问题

#include<iostream>
#include<iomanip>
#include "stdlib.h"
using namespace std;
int main(){
    double PI=3.1415926;
    cout<<setprecision(3)<<PI<<endl;
    system("pause");
    return 0;
}

保留三位有效数字


2、保留小数点后几位问题
上例中定义的PI小数点后有数位,可以保留小数点后两位(三位有效数字)。如果double a=100;再按上述方法输出a,则只会输出100,并不是小数,如果不信你可以试一试。
那么该怎么解决这个问题呢?非常简单
只需添加setiosflags(ios::fixed)即可,看代码

#include<iostream>
#include<iomanip>
#include "stdlib.h"
using namespace std;
int main(){
    //double PI=3.1415926;
    double a=100;
    cout<<setiosflags(ios::fixed)<<setprecision(3)<<a<<endl;
    system("pause");
    return 0;
}

保留小数点后几位
这样输出便不再是保留有效数字了,而是保留的小数点后的位数。

3、格式化输出(01)
当你输出时间格式的时候需要酱紫的输出(01:08:31)作为结果,然而你的输出却是酱紫:1:8:31,What should I do?这时候就需要C++的格式化输出了。

#include "stdlib.h"
#include<iostream>
#include<iomanip>
using namespace std;
int main(){
    int a=1;
    cout.setf(ios::right);
    cout.fill('0');
    cout.width(2);
    cout<<a<<endl;;
    system("pause");
    return 0;
}

运行结果
酱紫这个问题就轻松的解决了。
希望可以帮助到你。

转载地址:https://blog.csdn.net/RayKevin/article/details/53152154


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值