double类型数据显示

ivan_08 2008-09-11 04:07:06
double fNum=1234567890;
cout<<fNum<<endl;


为什么在vc++6.0下都是显示1.23457e+009 这个是怎么回事呢?
...全文
89 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
ivan_08 2008-09-11
  • 打赏
  • 举报
回复
恩,明白一些了,谢谢
xkyx_cn 2008-09-11
  • 打赏
  • 举报
回复
cout.setf(ios_base::scientific);
就是对浮点数输出采用科学计数法:1.23457e+009

setf
用来设置输出标志
ivan_08 2008-09-11
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 xkyx_cn 的回复:]
是这样的
引用 8 楼 ivan_08 的回复:
我又查了一下cout函数msdn的资料,是不是c++默认的有效数字的个数是6个,但是为什么int却没有影响呢?

cout < <cout.precision(10) < <endl;

我加了这个函数以后,就不存在什么问题了

除了他会多显示一个6,也许是c++默认的有效数字的个数6
[/Quote]

但是你的cout.setf(ios_base::scientific);
我没有用过,能说下吗?
setf
msdn上讲得有点不太懂
xkyx_cn 2008-09-11
  • 打赏
  • 举报
回复
是这样的
[Quote=引用 8 楼 ivan_08 的回复:]
我又查了一下cout函数msdn的资料,是不是c++默认的有效数字的个数是6个,但是为什么int却没有影响呢?

cout < <cout.precision(10) < <endl;

我加了这个函数以后,就不存在什么问题了

除了他会多显示一个6,也许是c++默认的有效数字的个数6
[/Quote]
ivan_08 2008-09-11
  • 打赏
  • 举报
回复
我又查了一下cout函数msdn的资料,是不是c++默认的有效数字的个数是6个,但是为什么int却没有影响呢?

cout<<cout.precision(10)<<endl;

我加了这个函数以后,就不存在什么问题了

除了他会多显示一个6,也许是c++默认的有效数字的个数6
ivan_08 2008-09-11
  • 打赏
  • 举报
回复
这次是这么显示的
1.23457e+009
1234567890.000000
为什么后面还要带6个0呢?




[Quote=引用 6 楼 xkyx_cn 的回复:]
试试这个:

C/C++ code
#include <iostream>
#include <iomanip>

using namespace std;

int main()
{
double fNum = 1234567890;
cout.setf(ios_base::fixed);
cout << fNum << endl;
cout.setf(ios_base::scientific);
cout << fNum << endl;

return 0;
}
[/Quote]
xkyx_cn 2008-09-11
  • 打赏
  • 举报
回复
试试这个:

#include <iostream>
#include <iomanip>

using namespace std;

int main()
{
double fNum = 1234567890;
cout.setf(ios_base::fixed);
cout << fNum << endl;
cout.setf(ios_base::scientific);
cout << fNum << endl;

return 0;
}
ivan_08 2008-09-11
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 yyyapple 的回复:]
cout.flags(ios_base::fixed);
[/Quote]

你这个怎么加呢?我放到函数里面,还是显示还是没有变化呢?
ivan_08 2008-09-11
  • 打赏
  • 举报
回复
为什么我用你的方法显示是

0x0040102D1.23457e+009呢?





[Quote=引用 2 楼 xkyx_cn 的回复:]
C/C++ code
#include <iostream>
#include <iomanip>

using namespace std;

int main()
{
double fNum = 1234567890;
cout << fixed << fNum << endl;

return 0;
}
[/Quote]
yyyapple 2008-09-11
  • 打赏
  • 举报
回复
cout.flags(ios_base::fixed);
xkyx_cn 2008-09-11
  • 打赏
  • 举报
回复

#include <iostream>
#include <iomanip>

using namespace std;

int main()
{
double fNum = 1234567890;
cout << fixed << fNum << endl;

return 0;
}
yyyapple 2008-09-11
  • 打赏
  • 举报
回复
out.flags(ios_base::fixed);

64,651

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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