Fortran中格式化输出

Iw[.m] 以w个字符的宽度来输出整数,至少输出m个数字。                                    

如:write(*,"(I5)") 100   输出:_ _100 ; 前面两空格

Fw.d 以w个字符文本框来输出浮点数,小数部分占d个字符宽,输出文本框的设置不中会出现*号。

如:write(*,"(F9.3)") 123.45  输出:_ _123.450 ; 前面两空格,后补0

Ew.d[Ee] 用科学计数法,以w个字符宽来输出浮点数,小数部分占d个字符宽,指数部分最少输出e个数字。

如:write(*,"(E15.7)" 123.45 输出:_ _0.1234500E+03 ; 输出不中15个字符的部分补上空白,小数部分不足7位的会补0

Dw.d 使用方法同Ew.d,差别在于输出时用来代表指数的字母由E换成D。

Aw 以w个字符宽来输出字符串。 write(*,"(A10)") "Hello" 固定用是为10我个字符段来输出字符串,不足的前面补空格

nX 输出位置向右移动n位。write(*,"(5X,I3)") 100 ; 将先填5个空格,再输出整数。

Lw 以w个字符宽来输出T或F的真假值。write(*,"(L4)") .true. ;程序会输出3个空格和一个T

/ 换行输出。write(*,"(I3//3)") 10,10 程序会得出4行,中间两行空格是从除号"/"得到的。

Tc 把输出的位置移动到本行的第c个字节。

TLn 输出位置向左相对移动n个字节。

TRn 输出位置向左相对移动n个字节。 

SP、SS 加了SP后,输出数字时如数值为正则加上"+",SS则是用来取消SP的功能。                 如 write(*,"(SP , I5 , I5 , SS , I5)") 5 , 5 , 5 输出:+5   +5   5

BN、BZ  BN定义在输入时没有数据的字节代表没有东西。BZ定义在没有数据的字节代表0

下面是实例总结:

Program test

  Implicit None

  Integer i , n
  Character(20) ch !(20)表示字符串的长度
  i = 123
  n = 456
  ch = 'abcd'
  Write(*,'(I5)') i !I5表示以5个字符串的长度输出,右对齐
  Write(*,14) trim(ch) , i , n !trim是去除字符串后面的空格
  Write(* , *) ch , i , n
  !定义Format的时候,如果有引号的部分会直接输出到桌面上
  14 Format(a1,1x,'***',1x,i3,1x,i4,1x)!x表示空格,1表示空格的数量,Aw以w个字符宽来输出字符串
End Program test

输出结果为:

原文地址:https://www.cnblogs.com/Liu-Z/p/14604447.html