Fortran 科学记数法 1d0 与 1.d0

问题描述

将双精度变量声明为

有什么区别吗?
double precision :: var1,var2,var3
    
var1 = 1d0
var2 = 1.d0
var3 = 1.0d0

我相信 var2var3 是相同的。如果我们不在声明中包含点(如 var1),是否会出现任何错误

解决方法

不,1d01.d01.0d0 之间没有任何区别。它们表示相同类型的相同文字值。

请注意,对于这个特定的小整数值,您可以只使用默认种类值 1.0,并且绝对可以使用整数值 1