谢谢大神,我试试 |
本帖最后由 necrohan 于 2021-7-29 09:13 编辑 空格是第2列的输出格式问题,把F6.2改为F5.2可以去掉空格。 第1列原格式相当于去掉了数字末尾的0和小数点,可以用字符串处理。 [Fortran] 纯文本查看 复制代码 real::x; ! 要输出的数据 character*(20)::cx; ! 输出数据转字符串 integer::lx,i,i1,i2 do i=1,100 x=812.8-(i-1)*0.05; ! 要输出的数据 write(cx,'(f6.2)')x; ! 数值变字符串 lx=LEN_TRIM(cx); ! 取字符串长度 ! 去掉字符串末尾的0和小数点 do while(.true.) i1=index(cx(1:lx),'0',back=.true.); i2=index(cx(1:lx),'.',back=.true.); if(i1==lx .or. i2==lx)then lx=lx-1 else exit endif enddo write(*,*)"_"//cx(1:lx)//"_"; end do end |
捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )
GMT+8, 2024-5-9 08:24