FORMAT功能的双精度

时间:2015-02-04 02:39:25

标签: fortran

我在Fortran没有任何编程经验,但对于我在学校的一门课程,我们必须将Fortran的程序翻译成Java。我遇到问题的代码行是

 295   FORMAT(1X,'Y(X) =',D25.16,' * X ',A1,D25.16,///)

我不认为整条生产线是必需的,但我想在整个背景下给出整条生产线。说D25.16的部分有点让我失望,因为我似乎无法在任何地方找到任何相关信息。我原本以为它是格式化双精度数字,能够在。(点)的左侧有25位数字,在右边有16位数字,但我似乎无法找到任何有关该数字的信息。意味着并且不知道我对此是对还是错。我只是看到是否有人能够对这样做有所了解。

1 个答案:

答案 0 :(得分:3)

D编辑描述符与E编辑描述符(可能更容易找到阅读材料)密切相关,但不同于F编辑描述符。评价。

ED指定实数将与指数一起显示。对于使用E的输出,可以将数字写为,例如

+0.1234e+12

对于D25.16,你是正确的,小数点后面的位数是16(好,小数部分),但它是25的字段的总宽度,而不是到的数字的位数左边。 [左边是0或者没有。]字段宽度来自(强制性)符号,(可选)前导0,(可能是可选的)指数标记,(强制性)指数符号,以及(至少)两个指数位。

如果有三个指数数字,则指数标记丢失(导致.1234+110)。

DE之间存在差异:

  • D不允许指定指数宽度(参见,E15.5E5);
  • D允许(但没有义务)使用D作为指数标记(而不是E)。