标题:求助,,,C++输出的小数精度怎么控制啊?
只看楼主
红绿灯
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2011-4-19
结帖率:33.33%
已结贴  问题点数:20 回复次数:8 
求助,,,C++输出的小数精度怎么控制啊?
如题,感谢赐教
2011-10-31 11:02
红绿灯
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2011-4-19
得分:0 
找到答案了。。。
程序代码:
  #include <iostream>

  #include <iomanip>

  using namespace std;

  int main( void )

  {

  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

  cout << value << endl;

  }

 
2011-10-31 11:08
心灵百合
Rank: 5Rank: 5
等 级:职业侠客
帖 子:215
专家分:367
注 册:2011-3-30
得分:3 
看看
2011-10-31 12:37
qq8801103
Rank: 5Rank: 5
来 自:苏州中科大软件学院
等 级:职业侠客
威 望:1
帖 子:422
专家分:340
注 册:2009-10-8
得分:3 
不错,

Discuz!  
好好学习  天天向上
2011-10-31 16:33
htygzs
Rank: 1
等 级:新手上路
帖 子:3
专家分:3
注 册:2011-10-31
得分:3 
学习了!!
2011-10-31 20:05
Ccool
Rank: 2
等 级:论坛游民
帖 子:10
专家分:10
注 册:2011-8-29
得分:3 
恩恩,学习一下~~~
2011-10-31 20:42
Noll_Nie
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:71
专家分:139
注 册:2011-4-19
得分:3 
mark
2011-11-01 23:14
飞扬_佳
Rank: 2
等 级:论坛游民
帖 子:19
专家分:20
注 册:2011-4-14
得分:3 
学习一下
2011-11-02 18:54
问问。问
Rank: 1
来 自:三明
等 级:新手上路
帖 子:12
专家分:4
注 册:2011-10-24
得分:3 
很不错,学习了。
2011-11-02 20:24



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-353890-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.140613 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved