编程时,时刻记住,浮点数是有误差的。
所以不做浮点数相等判断。
而改用差的绝对值小于某个很小的数。
[Fortran] 纯文本查看 复制代码 Real , parameter :: eps = 1.0e-5
If ( (abs(demlon(j,k)-101.95)<eps.and.abs(demlat(j,k)-27.05)<eps) .or. &
(abs(demlon(j,k)-101.45)<eps.and.abs(demlat(j,k)-26.95)<eps) .or. &
(abs(demlon(j,k)-101.75)<eps.and.abs(demlat(j,k)-26.65)<eps) )then
WRITE(2201501,'(2F10.3,I10)')DEMLON(J,K),DEMLAT(J,K),PROVALUE(J,K)
END IF |