例如,
SUBROUTINE DoSomething (Z,L)
IMPLICIT DOUBLE PRECISION (A-H,O-Z)
D=Z*77.1234567D0
L=D
RETURN
END
为了说话,我们假设D等于 -1.5 ,在这种情况下,L等于 -1或-2。换句话说,是向上舍入还是向下舍入?
提前致谢。
答案 0 :(得分:6)
使用内部函数int
后,转换为整数类型以进行赋值。效果定义为(F2008 13.7.81)
如果A是真实类型,则有两种情况:如果| A |< 1,则INT(A)的值为0;如果| A | ≥1,INT(A)是整数,其大小是不超过A的大小且其符号与A的符号相同的最大整数。
在这种情况下,L
将采用值-1
。
答案 1 :(得分:2)
使用最近的整数NINT()
或INT()
。 INT()
仅返回数字的带符号整数部分。 NINT()
的工作原理如下:
如果a大于零,则NINT(a)的值为INT(a + 0.5);如果a小于或等于零,则NINT(a)的值为INT(a-0.5)。
具体为NINT(0.5d0) = 1