打印指定指数位数的双精度数
Printing double precision numbers with specifying the number of digits in the exponent
我想打印出来0.3194D-114
。有什么办法吗?
我尝试使用
write(111,"(2I4, D30.20E3)") i, j, ez1(i,j,k)
但是我得到一个错误错误:
Period required in format specifier
根据 Fortran 2008 标准 (Cl. 10.3.2),D
编辑描述符不允许使用指数宽度:
1 An edit descriptor is a data edit descriptor (data-edit-desc),
control edit descriptor (control-edit-desc), or character string edit
descriptor (char-string-edit-desc).
R1007 data-edit-desc is I w [ . m ]
[...]
or D w.d
仅允许 E
、EN
、ES
和 G
编辑描述符(相同的子句和段落)指定指数:
or E w.d [ E e ]
or EN w.d [ E e ]
or ES w.d [ E e ]
or G w [.d [ E e ] ]
如果您可以使用 E
表示指数(而不是 D
),您可以使用
write(111,"(2I4, E30.20E3)") i, j, ez1(i,j,k)
我想打印出来0.3194D-114
。有什么办法吗?
我尝试使用
write(111,"(2I4, D30.20E3)") i, j, ez1(i,j,k)
但是我得到一个错误错误:
Period required in format specifier
根据 Fortran 2008 标准 (Cl. 10.3.2),D
编辑描述符不允许使用指数宽度:
1 An edit descriptor is a data edit descriptor (data-edit-desc), control edit descriptor (control-edit-desc), or character string edit descriptor (char-string-edit-desc).
R1007 data-edit-desc is I w [ . m ] [...] or D w.d
仅允许 E
、EN
、ES
和 G
编辑描述符(相同的子句和段落)指定指数:
or E w.d [ E e ] or EN w.d [ E e ] or ES w.d [ E e ] or G w [.d [ E e ] ]
如果您可以使用 E
表示指数(而不是 D
),您可以使用
write(111,"(2I4, E30.20E3)") i, j, ez1(i,j,k)