以下代码演示了对于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))'
答案 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编辑描述符会切换到指数表示法。通常这就是你想要的,但是)