c++中cout.serf()函数

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ZLK961543260/article/details/78254270

在c++中利用cout进行输出的时候可以规定程序输出的结果的显示方式,也就是数用指数形式表示还是以数的形式表示。下面介绍修改程序结果显示方式的方法:

setf()函数:

1、fmtflags setf( fmtflags flags );

2、fmtflags setf( fmtflags flags, fmtflags needed );
上述两种定义是在c++的api中看到的。因此,该方法有两种使用方法,一种是一个参数的。第二种是两个参数的。下面分别来说一下:

第一种情况:(函数中传一个参数)规定cout输出数字的形式。


上面表格中规定了输出以何种方式输出。下面举个例子:

	cout<<showpos;
	cout<<10.0/6<<endl;
	cout<<10%(-6)<<endl;
	cout<<1e10/5<<endl;
	cin.get();
	return 0;
结果如图:


当然,这里还有第二种方法,如结果图中注释的第二行。cout<<showpos;也可以实现相同的结果。这里读者可以自己尝试一下。这种方法配一张图,下图中所有标志都可以用这种方法进行规定:


第二种情况:setf()中含有两个参数。这时,两个参数一起规定输出的格式。如下表:


根据上面表格中的内容可以组合来对cout输出进行规定,例如:

	cout.setf(ios_base::scientific,ios_base::floatfield);
	
	cout<<10.0/6<<endl;
	cout<<10%(-6)<<endl;
	cout<<1e10/5<<endl;
	cin.get();
	return 0;
运行结果如图:(其余情况可以自行演示)


有人可能会有疑问,为什么第二行中不是科学计数法,这里需要注意,setf等这两种写法只是规定小数也就是浮点数的写法规范。


猜你喜欢

转载自blog.csdn.net/ZLK961543260/article/details/78254270