在 C++ 的编程中,总会遇到浮点数的处理,有时我们需要保留小数后几位。
在 ANSI C 中,我们可以使用 printf("%.2f",a);
在 C++ 中,我们可以通过使用setprecision()
来实现这个需求。setprecision()
位于头文件<iomanip>
。
使用方式如下
cout << setprecision(2) << a <<endl;
但是,如果 a 的值为 0.40001,输出的结果为 a=0.4,后面第二位的 0 被省略了。
如果需要实现自动补 0,需要在 cout 之前进行补 0 的定义。代码如下:
cout.setf(ios::fixed);
cout << "a=" <<fixed<< setprecision(2) << a <<endl; //输出a=0.40
这样,我们就可以得到 0.40 了。如果想要关闭掉补 0,只需要对 fixed 进行取消设置操作。
cout.unsetf(ios::fixed);
cout << "a=" << setprecision(2) << a <<endl; //输出a=0.4
输出结果就又变回 a=0.4 了。
本文标题:代码片段:C++保留小数精度
本文连接:https://blog.dextercai.com/archives/46.html
除另行说明,本站文字内容采用创作共用版权 CC-BY-NC-ND 4.0 许可协议,版权归本人所有。
除另行说明,本站图片内容版权归本人所有,未经许可前,严禁以任何形式的使用。
即日起视情况关闭全站评论区,您可以通过关于页面的电邮地址和我取得联系,谢谢