gfortran默认宽度/十进制数描述符

时间:2017-07-01 13:20:13

标签: fortran gfortran fortran90

以下代码演示了对于gfortran,可能让处理器决定整数和浮点数的格式描述符的宽度:

program test
    double precision :: x = 5.321568756
    integer ::  i = 53254
    write(*, '(I0)') i
    write(*, '(F0.3)') x
end program test

编译时,此代码输出

53254
5.322

是否也可以让处理器决定使用write语句输出的小数点数?换句话说,让上述程序输出如下:

53254
5.321568756

未明确提供格式描述符中的小数点数,如'(F0.9)'。像'(F0.(default number of decimal points here))'

这样的东西

1 个答案:

答案 0 :(得分:3)

您可以使用g0编辑描述符,例如:


program test
  double precision :: x = 5.321568756
  integer ::  i = 53254
  write(*, '(I0)') i
  write(*, '(F0.3)') x
  write(*, '(G0)') x
end program test

(G和F编辑描述符之间的区别在于,当值变得足够大/小时,G编辑描述符会切换到指数表示法。通常这就是你想要的,但是)