Fortran Coder

查看: 9572|回复: 5
打印 上一主题 下一主题

[输入输出] 等宽度输出数据

[复制链接]

801

帖子

2

主题

0

精华

大宗师

F 币
3804 元
贡献
2273 点
楼主
发表于 2017-3-9 17:40:15 | 显示全部楼层
假如你限定宽度为7,怎么输出 123456.789 ?

801

帖子

2

主题

0

精华

大宗师

F 币
3804 元
贡献
2273 点
沙发
发表于 2017-3-10 12:39:00 | 显示全部楼层
[Fortran] 纯文本查看 复制代码
program test
  implicit none 
  integer::n=7,m,i
  character(40):: str='',strF="(f20.20)"
  real a,b
  !设置输出格式
  write(strF(3:4),'(i2.2)') n*2+1
  write(strF(6:7),'(i2.2)') n
  !输出到字符串
  a= 1234567
  write(str,strf) a
  str=adjustl(str)
  !验证
  if(str(1:1)=='*') then
    write(*,*) '输出域宽不够'
  else   
    read(str(1:n),*) b
    str(n+1:) = ''
    if(abs(a-b)>1.0) then
      write(*,*) '输出域宽不够'
    else
      write(*,"(a)") str(1:n)
    end if
  end if  
  pause
  end program

评分

参与人数 1贡献 +9 收起 理由
vvt + 9

查看全部评分

您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-5-22 07:26

Powered by Tencent X3.4

© 2013-2024 Tencent

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