fortran90:打印不同结构的整数数组

时间:2012-09-27 10:14:04

标签: arrays integer structure fortran90

我有一个整数数组

int(4) :: idate            ! 1979 March 1st 00hrs

write(*,*)idate            ! prints ' 0 3 1 1979'

我想将idate保存在另一个变量(仅限整数/整数数组)中,该变量将日期打印为:

1979030100

不将其更改为字符/字符串。

可以这样做。请原谅我,如果它是微不足道的,但我花了很多时间在它上面。

1 个答案:

答案 0 :(得分:1)

你可以这样做:

integer :: date_as_int
...
date_as_int = idate(1)*10**6 + idate(2)*10**4 + idate(3)*10**2 + idate(4)

你甚至可以逃脱

date_as_int = sum(idate*10**[6,4,2,0])

date_as_int = dot_product(idate, 10**[6,4,2,0])

方括号语法来自Fortran 2003.使用较旧的编译器[6,4,2,0]应替换为(/6,4,2,0/)