注册 登录
编程论坛 C++教室

求助,,,C++输出的小数精度怎么控制啊?

红绿灯 发布于 2011-10-31 11:02, 8203 次点击
如题,感谢赐教
8 回复
#2
红绿灯2011-10-31 11:08
找到答案了。。。
程序代码:
  #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;

  }

 
#3
心灵百合2011-10-31 12:37
看看
#4
qq88011032011-10-31 16:33
不错,
#5
htygzs2011-10-31 20:05
学习了!!
#6
Ccool2011-10-31 20:42
恩恩,学习一下~~~
#7
Noll_Nie2011-11-01 23:14
mark
#8
飞扬_佳2011-11-02 18:54
学习一下
#9
问问。问2011-11-02 20:24
很不错,学习了。
1