C++中的iomanip函数库

<iomanip>函数库相当于一个标准格式化输入输出的函数库。

//浮点数小数点保留位数设定
#include<iostream>
#include<iomanip>
#include<fstream>

int main(){
    //前缀o表示八进制,前缀ox表示十六进制,不带前缀表示十进制
    int a=123;
    double pi=22.0/7.0;
    
    //setbase(n)设置整数为n进制,
    //oct八进制  dec十进制  hex十六进制
    //setiosflags(ios::showbase)显示进制的前缀
    //数值默认十进制显示输出
    std::cout<<a<<std::endl;
    std::cout<<"oct:"<<std::oct<<a<<std::endl;
    std::cout<<"dec:"<<std::dec<<a<<std::endl;
    std::cout<<"hex:"<<std::hex<<a<<std::endl;
        
    //setprecision(n)设置浮点数的有效数字为n位
    //有效位数默认为6位,即setprecision(6)会四舍五入
    std::cout<<pi<<std::endl;
    std::cout<<std::fixed<<std::setprecision(2)<<pi<<std::endl;
    
    //setfill(n)设置字符填充,c可以是字符常数或字符变量
    //setw(n)设置字段宽度为n位,若是实际宽度大于被设置的 setw失效,只针对第一个输出项有效默认右对齐
    //setiosflags(ios::left)输出左对齐
    //setiosflags(ios::right)输出右对齐
    std::cout<<std::setfill('*')<<std::setw(20)<<std::setprecision(12)<<pi<<std::endl;
    std::cout<<std::setfill('*')<<std::setw(20)<<std::setprecision(12)<<std::right<<pi<<std::endl;
    std::cout<<std::setfill('*')<<std::setw(20)<<std::setprecision(12)<<std::left<<pi<<std::endl;
    
    //setiosflags(ios::scientific) 设置浮点数科学技术法表示
    std::cout<<std::scientific<<std::setprecision(12)<<pi<<std::endl;
    std::cout<<std::scientific<<std::uppercase<<std::setprecision(12)<<pi<<std::endl;
    
     //resetiosflags()终止已经设置的输出格式状态
    std::cout<<std::setiosflags(std::ios::scientific)<<std::setprecision(12)<<pi<<" "<<std::resetiosflags(std::ios::scientific)<<pi<<std::endl;
    return 0;         
}


以上是库中常用函数,联想根源是浮点数保留确定位数

解决办法:cout<<fixed<<setprecision(2)<<a<<endl;

其中fixed是小数的意思,后面setprecision是指数字精度, 出现在fixed之后是指小数点后保留的位数。

  • 6
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小菜鸡变形记

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

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

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

打赏作者

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

抵扣说明:

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

余额充值