C++保留任意小数点位数,小数点后,四舍五入,格式化输出

怎甘沉沦 提交于 2020-02-27 14:18:06

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;//3.14
}

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;
  return 0; //100.000
}

3.格式化输出

当你输出时间格式的时候需要酱紫的输出(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;;
  return 0;//01
}

参考:https://blog.csdn.net/Richard__Ting/article/details/80375870

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!