首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >对于三位数指数,Fortran在输出中删除“E”

对于三位数指数,Fortran在输出中删除“E”
EN

Stack Overflow用户
提问于 2014-06-02 23:20:06
回答 1查看 4.3K关注 0票数 11

我刚从Python开始学习Fortran90,老实说,到目前为止最困难的部分是习惯了用于编写输出的格式化代码。我遇到了一个格式问题,我似乎无法谷歌或篡改我的方式,我已经搜索了这个网站的答案,但没有发现任何帮助。

我正在进行计算,并将输出写入文件。我用以下代码格式化计算结果

写(文件,('13ES11.2)')

有些值非常小,所以我最终得到了三位数的负值。所以应该是这样的,

10e-100

但是我把这个放在输出文件中,

10-100

这对我没有帮助,因为我有另一个程序,需要读取那个文件,并且理解这些数字是指数。

我很感谢任何人在这方面的帮助。

EN

Stack Overflow用户

回答已采纳

发布于 2014-06-03 00:16:30

尝试ES11.2E3的格式规范。它允许指数有三个位置(总是)。

对于Fortran格式化的输入和输出,有很强的“固定列宽度”的味道。如果没有指数字段宽度规范,“默认”宽度为2。如果指数部分需要多一个位置,那么通常由E占据的列至少允许输出继续而不丢失信息。如果指数输出需要比缺省值多两个,那么你就会看到星星。

请注意,如果您的另一个程序是用Fortran编写的,那么它就会理解这些带有缺失E的奇怪实数。

编辑描述符(如G0.3 )为这种奇怪的情况提供了部分解决办法,但不能保证您的格式是科学的。

票数 13
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24004824

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档