有没有办法格式化输出的实数,使得宽度和小数部分都未指定?只需执行以下操作,ifort 就可以做到这一点:
write (*, '(F)') num
...但我知道这种用法是特定于编译器的扩展。Gfortran 确实接受符合标准的 0 宽度说明符,但我在标准和 gfortran 的文档中都找不到关于如何不指定小数部分的任何内容。显而易见的猜测是也只使用 0,但这会产生不同的结果。例如,鉴于此:
real :: num
num = 3.14159
write (*, '(F0.0)') num
...输出只是3.
. 我知道我可以指定一个大于零的十进制值,但是我很可能会打印出不需要的额外零。
我有哪些选择?我有吗?