我在Fortran没有任何编程经验,但对于我在学校的一门课程,我们必须将Fortran的程序翻译成Java。我遇到问题的代码行是
295 FORMAT(1X,'Y(X) =',D25.16,' * X ',A1,D25.16,///)
我不认为整条生产线是必需的,但我想在整个背景下给出整条生产线。说D25.16
的部分有点让我失望,因为我似乎无法在任何地方找到任何相关信息。我原本以为它是格式化双精度数字,能够在。(点)的左侧有25位数字,在右边有16位数字,但我似乎无法找到任何有关该数字的信息。意味着并且不知道我对此是对还是错。我只是看到是否有人能够对这样做有所了解。
答案 0 :(得分:3)
D
编辑描述符与E
编辑描述符(可能更容易找到阅读材料)密切相关,但不同于F
编辑描述符。评价。
E
和D
指定实数将与指数一起显示。对于使用E
的输出,可以将数字写为,例如
+0.1234e+12
对于D25.16
,你是正确的,小数点后面的位数是16(好,小数部分),但它是25的字段的总宽度,而不是到的数字的位数左边。 [左边是0
或者没有。]字段宽度来自(强制性)符号,(可选)前导0,(可能是可选的)指数标记,(强制性)指数符号,以及(至少)两个指数位。
如果有三个指数数字,则指数标记丢失(导致.1234+110
)。
D
和E
之间存在差异:
D
不允许指定指数宽度(参见,E15.5E5
); D
允许(但没有义务)使用D
作为指数标记(而不是E
)。