小编Pet*_*trH的帖子

Fortran:究竟是什么.d0?

我明白这.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. 如果我1.d0为声明为变量的变量赋值,会发​​生什么real(KIND=DP)
  2. 有没有办法如何1_DP在名单中强制执行?如果它当然重要.

fortran

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

fortran ×1