如果一个数字太大,无法使用 setprecision 指定的有效数位数来打印,则许多系统会以科学表示法的方式打印。

例如,还是之前的程序:// This program asks for sales figures for three days. // The total sales are calculated and displayed in a table. #include #include // Header file needed to use stream manipulators using namespace std; int main() { double day1, day2, day3, total; // Get the sales for each day cout << "Enter the sales for day 1: "; cin >> dayl; cout << "Enter the sales for day 2: ”; cin >> day2; cout << "Enter the sales for day 3: ”; cin >> day3; // Calculate total sales total = day1 + day2 + day3; // Display the sales figures cout << "nSales Figuresn"; cout << "-------------n" ; cout << setprecision (5); cout << "Day 1: " << setw(8) << day1 << endl; cout << "Day 2: " << setw(8) << day2 << endl; cout << "Day 3: " << setw(8) << day3 << endl; cout << "Total: " << setw(8) << total << endl; return 0; }

以下是在该程序输入较大数字之后的输出:

Enter the sales for day 1: 145678.99

Enter the sales for day 2: 205614.85

Enter the sales for day 3: 198645.22

Sales Figures

————-

Day 1: 1.4568e+005

Day 2: 2.0561e+005

Day 3: 1.9865e+005

Total: 5.4994e+005

为了防止出现这种情况,可以使用另一个流操作符 fixed,它表示浮点输出应该以固定点或小数点表示法显示:

cout << fixed;

当然,fixed 操作符可能最重要的还是当它与 setprecision 操作符一起使用时,setprecision 即可以以一种新的方式显示。它将指定浮点数字的小数点后要显示的位数,而不是要显示的总有效数位数。而这通常正是我们想要的。

例如,可以重写上面程序的第 22 行如下:

cout << fixed << setprecision(2);

然后使用相同的样本数据重新运行程序,即可得到以下结果:Enter the sales for day 1: 321.57 Enter the sales for day 2: 269. 60 Enter the sales for day 3: 307.00 Sales Figures ------------- Day 1: 321.57 Day 2: 269.60 Day 3: 307.00 Total: 898.17

通过将 fixed 和 setprecision 结合起来使用,得到了所需的输出结果。请注意,在这种情况下,精度值应设置为 2,这是希望看到的小数位数,而不是 5。原文始发于:C++ fixed用法详解

vc中cout如何解除fixed控制_C++ fixed用法详解相关推荐

  1. oracle8i substr,Oracle中的INSTR,NVL和SUBSTR函数的用法详解

    Oracle中INSTR的用法: INSTR方法的格式为 INSTR(源字符串, 要查找的字符串, 从第几个字符开始, 要找到第几个匹配的序号) 返回找到的位置,如果找不到则返回0. 例如:INSTR ...

  2. sort在c语言中的作用,c语言中sort的用法详解.docx

    c语言中sort的用法详解.docx C语言中SORT的用法详解C语言的学习很多是比较复杂的,那么C语言中SORT的用法的用法你知道吗下面学习啦小编就跟你们详细介绍下C语言中SORT的用法的用法,希望 ...

  3. python中values作用_Python values()与itervalues()的用法详解

    dict 对象有一个 values() 方法,这个方法把dict转换成一个包含所有value的list,这样,我们迭代的就是 dict的每一个 value: d = { 'Adam': 95, 'Li ...

  4. html后代元素选择器,怎么使用html5中的后代选择器?后代选择器的用法详解!

    最近网上很多小伙伴就在问,怎么使用html5中的后代选择器?看到这我就有点想说的了,对于怎么使用html5中的后代选择器,这个问题其实还是蛮重要的.对于想要从事互联网这块功的话算是基本都要有所了解的. ...

  5. scikit-learn工具包中分类模型predict_proba、predict、decision_function用法详解

    在使用sklearn训练完分类模型后,下一步就是要验证一下模型的预测结果,对于分类模型,sklearn中通常提供了predict_proba.predict.decision_function三种方法 ...

  6. php中location.reload,js刷新页面location.reload()用法详解

    本文介绍了js刷新页面函数location.reload()的用法,有关js location.reload()函数的例子,有需要的朋友参考下. 在javascript编程中,多使用location. ...

  7. python中*args 与 **kwargs形式的参数的用法详解

    我在学习OpenStack的过程中遇到了大量的如下形式的代码段: args['body'] = json.loads(request.body) result = method(request=req ...

  8. 【Python教程】 re 模块中findall() 函数返回值展现方式的用法详解

    findall 函数: 在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表. 注意: match 和 search 是匹配一次 findall 匹配所有,mat ...

  9. python属性和方法的区别_Python中几种属性访问的区别与用法详解

    起步 在Python中,对于一个对象的属性访问,我们一般采用的是点(.)属性运算符进行操作.例如,有一个类实例对象foo,它有一个name属性,那便可以使用foo.name对此属性进行访问.一般而言, ...

  10. java中finaljava中this_Java中this,static,final,const用法详解

    一.this 用类名定义一个变量的时候,定义的应该只是一个引用,外面可以通过这个引用来访问这个类里面的属性和方法,那们类里面是够也应该有一个引用来访问自己的属性和方法纳?JAVA提供了一个很好的东西, ...

最新文章

  1. SQL Server的一个不显眼的功能 备份文件的分割
  2. 如何强制“ git pull”覆盖本地文件?
  3. python画笑脸-python 利用turtle库绘制笑脸和哭脸的例子
  4. Ferguson博弈
  5. win7下注册s2008
  6. 安全狗导致php错误,服务器安全狗导致ASP.NET网站运行出错的一个案例
  7. D类IP地址和组播传输
  8. [转]WCF RIA Services
  9. untiy对过相机参数计算视场角
  10. 计算机图表制作教程,echarts入门教程 5分钟上手制作ECharts图表
  11. cisco路由器进入rommon模式
  12. 查询用户活跃度表登录间隔30天的用户
  13. FortiGate防火墙配置SSL用户分流
  14. 论文阅读笔记:Layer Normalization
  15. 率土之滨鸿蒙团,【率土之滨】无需“垒实”也能鏖战全场!群吕布混编弓解析...
  16. GDPR: Impact to Your Data Management Landscape: Part 2
  17. 一例用方错误的女子咳则遗尿案
  18. 在Visual Studio中添加数据库和.xsd文件(DataSet)
  19. 计算机专业性价比高的学校 考研,计算机专业考研,该怎样选择院校?这五所大学性价比很高...
  20. skpaint matchcharacter 不能显示英文_微信新增6个搞笑小表情!翻白眼,666,裂开,让我看看…英文都咋说?...

热门文章

  1. 订单可视化(智能制造、流程再造、企业信息化) 第二篇 背景及问题提出
  2. 200个计算机局域网适合什么,批处理检测局域网电脑是否开机(200多台电脑,不同网段,最好按主机名称检测)...
  3. 【转载】java版打字练习软件
  4. Windows驱动程序开发 - 初识驱动
  5. 今日头条号问答微头条原创收益向百粉开放
  6. android全屏状态栏是黑色,解决DialogFragment全屏时状态栏变黑
  7. 2019年山东计算机单招学校,2019年山东单招学校排名前十的有哪些?
  8. ubuntu安装配置NFS
  9. PDF文档如何添加图片签名
  10. ubuntu 网卡双网口 配置_Ubuntu双线双网卡双IP配置方法