我想以这种格式yyyymm
打印一系列时间段,例如。 1970010600
到1980010600
因此我将输入作为字符串并将子字符串转换为整数,将其递增并再次将其转换为字符串。
我将这些字符串变量连接为fln=yyyy//mm
,但我的输出有前导空格。我使用了空白描述符,但它不起作用:
我的输出为1971 1
,但我需要197101
。如果是两个月的月份就没有问题。
我怎样才能有一个领先的零而不是本月的领先空白?
代码的一部分是:
integer:: m,j,n,k
character(len=12)::fln,st,et
character(len=4)::yy,tt
character(len=2)::mm,dd
do j=0,k
ma(j)=m+j
write(mm,'(BZ,I2)')ma(j)
fln=yy//mm
write(19,121)fln
121 format(A12)
答案 0 :(得分:1)
尝试替换
write(mm,'(BZ,I2)')ma(j)
与
write(mm,'(I2.2)')ma(j)
然后查阅您的Fortran参考资料,了解I
格式Iw.m
的{{1}}编辑描述符的用法。 BZ
编辑控件描述符仅对输入有用。