我明白这.d0
表示double precision
我想知道它如何与用户定义的精度一起使用.我用
module precision
implicit none
integer, parameter :: DP = selected_real_kind(r=250,p=13)
end module precision
Run Code Online (Sandbox Code Playgroud)
并声明浮动为
real(KIND=DP) :: var1
Run Code Online (Sandbox Code Playgroud)
每当我需要在程序的某个地方为这样的浮点赋值
var1 = 1_DP
Run Code Online (Sandbox Code Playgroud)
现在我遇到的问题是,如果我从名单中读取值,它就不起作用.编译器坚持认为
&namelistName
var1 = 1.d0
!var1 = 1_DP ! this does not work
&end
Run Code Online (Sandbox Code Playgroud)
两个问题如下:
1.d0
为声明为变量的变量赋值,会发生什么real(KIND=DP)
?1_DP
在名单中强制执行?如果它当然重要.fortran ×1