关闭

cout的输出格式初探3

标签: coutiostreamsetfprecisionsetiosflags
294人阅读 评论(0) 收藏 举报
分类:
#include <iostream>
#include <iomanip>
using namespace std;

int main()
{
	double f=2.0/3.0,f1=0.000000001,f2=-9.9;
	cout<<f<<' '<<f1<<' '<<f2<<endl; //正常输出
	cout.setf(ios::showpos); //强制在正数前加+号 //表示出正负号
	cout<<f<<' '<<f1<<' '<<f2<<endl;
	cout.unsetf(ios::showpos); //取消正数前加+号
	cout.setf(ios::showpoint); //强制显示小数点后的无效0
	cout<<f<<' '<<f1<<' '<<f2<<endl;
	cout.unsetf(ios::showpoint); //取消显示小数点后的无效0
	cout.setf(ios::scientific); //科学记数法
	cout<<f<<' '<<f1<<' '<<f2<<endl;
	cout.unsetf(ios::scientific); //取消科学记数法
	cout.setf(ios::fixed); //按点输出显示
	cout<<f<<' '<<f1<<' '<<f2<<endl;
	cout.unsetf(ios::fixed); //取消按点输出显示
	cout.precision(18); //精度为18,正常为6
	cout<<f<<' '<<f1<<' '<<f2<<endl;
	cout.precision(6); //精度恢复为6
	cout<<f<<' '<<f1<<' '<<f2<<endl;
	
	cout<<"----------------------------"<<endl;
	
	//使用操作算法,效果相同
	cout<<f<<' '<<f1<<' '<<f2<<endl; //正常输出
	cout<<setiosflags(ios::showpos); //强制在正数前加+号
	cout<<f<<' '<<f1<<' '<<f2<<endl;
	cout<<resetiosflags(ios::showpos); //取消正数前加+号
	cout<<setiosflags(ios::showpoint); //强制显示小数点后的无效0
	cout<<f<<' '<<f1<<' '<<f2<<endl;
	cout<<resetiosflags(ios::showpoint); //取消显示小数点后的无效0
	cout<<setiosflags(ios::scientific); //科学记数法
	cout<<f<<' '<<f1<<' '<<f2<<endl;
	cout<<resetiosflags(ios::scientific); //取消科学记数法
	cout<<setiosflags(ios::fixed); //按点输出显示
	cout<<f<<' '<<f1<<' '<<f2<<endl;
	cout<<resetiosflags(ios::fixed); //取消按点输出显示
	cout<<setprecision(18); //精度为18,正常为6
	cout<<f<<' '<<f1<<' '<<f2<<endl;
	cout<<setprecision(6); //精度恢复为6
	cout<<f<<' '<<f1<<' '<<f2<<endl; 

	return 0;
}

程序运行结果如下图:


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:3426977次
    • 积分:42964
    • 等级:
    • 排名:第83名
    • 原创:253篇
    • 转载:263篇
    • 译文:253篇
    • 评论:262条
    最新评论