Fortran Coder

查看: 5566|回复: 4
打印 上一主题 下一主题

[通用算法] 關於時間轉換公式問題

[复制链接]

712

帖子

4

主题

0

精华

大师

农村外出务工人员

F 币
607 元
贡献
311 点

新人勋章爱心勋章水王勋章元老勋章热心勋章

楼主
发表于 2014-10-8 21:23:15 | 显示全部楼层
[Fortran] 纯文本查看 复制代码
Program www_fcode_cn
  Implicit none
  write(*,*) timeall( 1994 , 1 , 365 , 24 )
  write(*,*) timeall( 1994 , 2 , 365 , 0 )
contains
  real function timeall( yr , dayofyear , Days_Of_Year , hr )
    integer :: yr , dayofyear , Days_Of_Year , hr
    timeall = REAL(yr)+(REAL(dayofyear)-0.99)/Days_Of_Year+REAL(hr)/(Days_Of_Year*24)
  end function  timeall
End Program www_fcode_cn  


运行后结果为
   1994.00281   
   1994.00281   

感觉没有问题

712

帖子

4

主题

0

精华

大师

农村外出务工人员

F 币
607 元
贡献
311 点

新人勋章爱心勋章水王勋章元老勋章热心勋章

沙发
发表于 2014-10-8 22:14:19 | 显示全部楼层
如果你用双精度,需要把常数也改成双精度。

[Fortran] 纯文本查看 复制代码
timeall = yr*1.0D0+(dayofyear-0.99D0)/Days_Of_Year + 1.0D0*hr/(Days_Of_Year*24.0D0)
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-3 06:50

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表