C++保留任意小数点后位数与格式化输出
2016-11-13 21:05
393 查看
废话不多说,直接进主题
1、保留有效数字问题
2、保留小数点后几位问题
上例中定义的PI小数点后有数位,可以保留小数点后两位(三位有效数字)。如果double a=100;再按上述方法输出a,则只会输出100,并不是小数,如果不信你可以试一试。
那么该怎么解决这个问题呢?非常简单
只需添加setiosflags(ios::fixed)即可,看代码
这样输出便不再是保留有效数字了,而是保留的小数点后的位数。
3、格式化输出(01)
当你输出时间格式的时候需要酱紫的输出(01:08:31)作为结果,然而你的输出却是酱紫:1:8:31,What should I do?这时候就需要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; }
酱紫这个问题就轻松的解决了。
希望可以帮助到你。
相关文章推荐
- C++保留任意小数点后位数与格式化输出
- C++格式化输出小数点后位数
- c++小数点后几位、有效位数、格式化输出
- [转]C++ 输出时的小数点后的位数
- double变量的C++ 输出时的小数点后的位数控制
- C++中保留小数点位数的方法
- c++输出保留固定小数位数
- C++输出时小数点后的位数(iostream)
- 保留小数点后任意位数
- C++——cout输出小数点后指定位数
- c++ 输出保留n位小数点的数
- c++保留有效数字,小数,格式化输出
- C++ 标准输出如何控制小数点后位数
- C++ 标准输出如何控制小数点后位数
- n进制小数 将任意十进制正小数分别转换成2,3,4,5,6,7,8,9进制正小数,小数点后保留8位,并输出。
- C++中输出 位宽和小数点后位数 的控制
- C++——cout输出小数点后指定位数
- c++中怎么控制浮点型小数点后输出的位数
- c/c++保留小数点后位数