有关“控制浮点数值显示”的问题?

zwqxfzpp 2003-10-20 02:31:16
请先看下面的程序:
//********************************************************************
//Function : 分别用浮点、定点和指数方式来表示一个实数。
//********************************************************************

#include <iostream.h>
#include <iomanip.h> //格式控制符

void main()
{
double Amount = 22.0/7;

cout << Amount << endl;
cout << setprecision(0) << Amount << endl;
cout << setprecision(1) << Amount << endl;
cout << setprecision(2) << Amount << endl;
cout << setprecision(3) << Amount << endl;
cout << setprecision(4) << Amount << endl;

cout << setiosflags(ios::fixed);
cout << setprecision(8) << Amount << endl;

cout << setiosflags(ios::scientific) << Amount << endl;

cout << setprecision(6); //重新设置成原默认设置
}
问题:
1.setprecision(n)中的n所指的小数位数是否是包含小数点在内?
例如:cout << setprecision(4) << Amount << endl;
的输出结果为3.143。
而在执行了cout << setiosflags(ios::fixed);后,setprecision(n)中的n所指的 小数位数不包含小数点在内?
例如:cout << setprecision(8) << Amount << endl;
的输出结果为3.14295718。
2.为什么cout << setiosflags(ios::scientific) << Amount << endl;的输出结果为
3.1428571而不是3.14285714e+00?

...全文
80 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
qinxiaolin 2003-10-20
  • 打赏
  • 举报
回复
有谁知道c语言中的back();函数是做什么的?
不知道怎么提问?请原谅!!!
zwqxfzpp 2003-10-20
  • 打赏
  • 举报
回复
第一个问题已经解决,正确的理解应该是:
1.在用浮点表示的输出中, setprecision(n)表示有效位数。
2.在用定点表示的输出中, setprecision(n)表示小数位数。

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧