c++限制小数的位数

版权声明:https://blog.csdn.net/qq_43129582/article/details/83213278 https://blog.csdn.net/qq_43129582/article/details/83214825

第一种方法:

#include < iomanip >

  • 主要是对cin,cout之类的一些操纵运算子,比如setfill,setw,setbase,setprecision等等。
    它是I/O流控制头文件,就像C里面的格式化输出一样.以下是一些常见的控制函数的:dec 置基数为10 相当 于"%d"hex 置基数为16 相当于"%X"oct 置基数为8 相当于"%o"setfill© 设填充字符为csetprecision(n) 设显
    示小数精度为n位setw(n) 设域宽为n个字符这个控制符的意思是保证输出宽度为n。如:cout<<setw(3)
    <<1<<setw(3)<<10<<setw(3)<<100; 输出结果为1 10100 (默认是右对齐)当输出长度大于3时(<<1000) setw(3)不起作用。setioflags(ios::fixed)
    固定的浮点显示…

  • 例如:

const double value = 12.3456789;
cout << value << endl; // 默认以6精度,所以输出为 12.3457 cout << setprecision(4) << value << endl; // 改成4精度,所以输出为12.35 cout <<
setprecision(8) << value << endl; // 改成8精度,所以输出为12.345679 cout <<
fixed << setprecision(4) << value << endl; //
加了fixed意味着是固定点方式显示,所以这里的精度指的是小数位,输出为12.3457 cout << value << endl; //

fixed和setprecision的作用还在,依然显示12.3457 cout.unsetf( ios::fixed ); //
去掉了fixed,所以精度恢复成整个数值的有效位数,显示为12.35 cout << value << endl;
cout.precision( 6 ); // 恢复成原来的样子,输出为12.3457

	(setprecision(n)是流格式控制符之一,在iomanip头文件中。

setprecision(n)指定一个浮点数的精度。

可以指定一个浮点数打印几位数字,其中n是总位数 包括小数之前和之后的数字。超出的位数会被四舍五入进去)

第二种方法:

#include < cstdio >

 在最后 输入  printf( " %.2f\n ",s);    -------------这里以输出两位小数示例
 (  cstdio是将stdio.h的内容用C++头文件的形式表示出来。stdio.h是以往的C和C++的头文件,
 cstdio是标准C++(STL),  且cstdio中的函数都是定义在一个名称空间std里面的,
 如果要调用这个名字空间的函数,必须得加std::或者在文件中声明using namespace std。)

(大部分都是可以百度的)

猜你喜欢

转载自blog.csdn.net/qq_43129582/article/details/83214825