格式问题!

ArmStronger 2009-10-29 04:21:28

ofstream outfile("d:\\2.txt");
double data =67.37831

请问下怎么把data输出的时候以科学计数法表示,即:6.737831e+01
...全文
78 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lvaj2008 2009-10-29
  • 打赏
  • 举报
回复
int main()
{
std::ofstream outfile;
outfile.open("d:\\2.txt");

double data =67.37831;
char pchData[128] = {0};
sprintf(pchData, "%e", data);
outfile << pchData;


outfile.close();

return 0;
}
mstlq 2009-10-29
  • 打赏
  • 举报
回复

#include <iostream>
#include <string>
using namespace std;
int main()
{
double data =67.37831;
cout.setf(ios::scientific);
cout<<data<<endl;;
return 0;
}
ArmStronger 2009-10-29
  • 打赏
  • 举报
回复
谢谢5楼,问题解决!
ArmStronger 2009-10-29
  • 打赏
  • 举报
回复
哎,头都大了,难道没有解决方法?
pur_e 2009-10-29
  • 打赏
  • 举报
回复
outfile.setf(ios::scientific);

写之前设置一下
kouwenlong 2009-10-29
  • 打赏
  • 举报
回复
那就不回了。
jackyjkchen 2009-10-29
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 cfz379945430 的回复:]
引用 1 楼 kouwenlong 的回复:
C/C++ codeint main()
{double data=67.37831;
    printf("%e", data);

}

我的意思是在 outfile < < data 时怎么把他用科学计数方法写入文件
[/Quote]
c++的格式化貌似比较弱
ArmStronger 2009-10-29
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 kouwenlong 的回复:]
C/C++ codeint main()
{double data=67.37831;
printf("%e", data);

}
[/Quote]
我的意思是在 outfile << data 时怎么把他用科学计数方法写入文件
kouwenlong 2009-10-29
  • 打赏
  • 举报
回复
int main()
{
double data =67.37831;
printf("%e", data);

}

64,639

社区成员

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

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