在下面的代码中,我将865398.78和-865398.78加在一起.我希望得到0,但我得到-0.03.

源代码:
program main
real(8) :: x
open(10,file="test.txt")
read(10,*)x
print *,"x=",x
x=x+865398.78
print *,"x+865398.78=",x
end program
Run Code Online (Sandbox Code Playgroud)
结果:
x= -865398.780000000
x+865398.78= -3.000000002793968E-002
Run Code Online (Sandbox Code Playgroud)
我对"读取"代码或其他东西的使用有误吗?