Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
File 对于三位数的指数,Fortran会删除';E';在输出中_File_Format_Output_Fortran90_Exponential - Fatal编程技术网

File 对于三位数的指数,Fortran会删除';E';在输出中

File 对于三位数的指数,Fortran会删除';E';在输出中,file,format,output,fortran90,exponential,File,Format,Output,Fortran90,Exponential,我刚从Python开始学习Fortran90,老实说,到目前为止最难的部分是习惯于编写输出的格式化代码。我遇到了一个无法用谷歌搜索或摆弄的格式问题,我在这个网站上搜索了答案,但没有找到任何有用的东西 我正在计算并将输出写入文件。我正在用以下代码格式化计算结果 写入(文件,('13ES11.2')kappa 有些值非常小,所以我得到了三位数的负值。所以应该是这样的 10e-100 但是我在输出文件中得到了这个 10-100 这对我没有帮助,因为我有另一个程序需要读取该文件并理解这些数字是指数 我非

我刚从Python开始学习Fortran90,老实说,到目前为止最难的部分是习惯于编写输出的格式化代码。我遇到了一个无法用谷歌搜索或摆弄的格式问题,我在这个网站上搜索了答案,但没有找到任何有用的东西

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

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

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

10e-100

但是我在输出文件中得到了这个

10-100

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


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

请尝试使用
ES11.2E3
的格式规范。这允许指数有三个位置(始终)

Fortran格式的输入和输出有一种强烈的“固定列宽”的味道。如果没有指数字段宽度规范,“默认”宽度为2。如果指数部分需要一个以上的位置,则借用通常由E占据的列,以至少允许输出在不丢失信息的情况下继续。如果指数输出需要比默认值多两个,那么您将看到星星

请注意,若您的另一个程序是用Fortran编写的,那个么它将理解这些缺少E的奇怪实数


G0.3
这样的编辑描述符可以部分解决这个奇怪的问题,但不能保证格式是科学的。

@IanH是否可以做相反的事情,抑制指数。说而不是
1.123456E-05
get
1.123456-05
。原则上,Fortran在读取案例时没有出现
E
问题,因此我认为一些聪明的格式描述符也可以编写它。