jkl1102925008 发表于 2022-6-6 22:17:01

求助,为什么浮点计算结果是有问题的

if(j==4756 .and. da_daycount>3) then
write(*,*) "nlch1.01"
write(*,*) co
write(*,*) vno3
write(*,*) vv
end if
if (vv > 1.e-10) then
co = vno3/vv
if (co<0.) co=0.
end if
if(j==4756 .and. da_daycount>3) then
write(*,*) "nlch1.02"
write(*,*) co
write(*,*) vno3
write(*,*) vv
end if
结果:
nlch1.01
0.00000000000
0.15994490000
60.96594000000
nlch1.02
0.00262351220
0.15994490000
60.96594000000

但是 co 的答案不应该是0.00262351240吗

风平老涡 发表于 2022-6-6 22:46:44

这个是数据的精度问题。单精度数值有效位数是6~7位十进制数。双精度数值有效位数是15~17位十进制数。
页: [1]
查看完整版本: 求助,为什么浮点计算结果是有问题的