我刚从Python进入Fortran90,老实说,到目前为止,最困难的部分已经习惯了用于编写输出的格式化代码。我遇到了一个格式问题,我似乎无法用Google搜索或弄乱我的出路,我已经在该网站上搜索了答案,但没有发现任何有用的信息。
我正在计算并将输出写入文件。我正在使用以下代码格式化计算结果
write(文件,('13ES11.2)')kappa
有些值很小,所以我最终得到三位数的负值。所以应该是这样的
10e-100
但是相反,我在输出文件中得到了这个
10-100
这对我没有帮助,因为我还有另一个程序需要读取该文件并了解这些数字是指数。
我很感谢任何人的帮助。
尝试使用的格式规范ES11.2E3
。这允许指数(总是)有三个位置。
Fortran格式的输入和输出具有“固定列宽”的强烈风味。如果没有指数字段宽度规范,则“默认”宽度为2。如果指数部分要求的位置比该位置多,则借用通常由E占据的列以至少允许输出继续而不会丢失信息。如果指数输出要求比默认值多两个,那么您将看到星星。
请注意,如果您的其他程序是用Fortran编写的,则它将理解缺少E的这些奇怪的实数。
诸如之类的编辑描述符为G0.3
这种奇怪现象提供了部分解决方法,但是不能保证您使用科学的格式。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句