首页 文章

fortran写输出:一行中的所有变量

提问于
浏览
1

抱歉,

我尝试用不同的格式(1.4e-12,10 ......)写一个file.dat whit很多列(11)

当我尝试ro编写代码时,我使用以下fortran命令:

WRITE(7,*) id,t,a,e,inc,capom,omega,capm,mass,radius

但是原始文件中的每一行现在都是用多行写的 .

从:

1222221 0.0 10.0 0.0 3.1415927 0.0 0.0 3.7828348 9.0E-9 4.0E-6

至:

1222221 0.000000000000000E 000 10.0000000000000 0.000000000000000E 000 0.000000000000000E 000 0.000000000000000E 000 0.000000000000000E 000 1.67102026939392 9.000000189551827E-010 3.999999989900971E-006

我该如何解决这个问题?

非常感谢你的帮助!

1 回答

  • 2

    您需要指定所需的格式 . 你可以通过使用来做到这一点

    • i0 指定一些未知宽度的整数

    • f4.1 指定最多2位数的实数加上1位小数(最小值为0.0,最大值为99.9)

    • f9.7 指定一个最多1位数的实际plut 7位小数(非常适合pi)

    • es10.1 用一个小数位指定一个最多8位数的科学记数法(很适合9e-9)

    • 1x 指定每个数字之间的空格

    这些可以一起使用来获得

    write(7,'(i0,1x,3(f4.1,1x),f9.7,1x,2(f4.1,1x),2(es10.1,1x))') &
                                  id,t,a,e,inc,capom,omega,capm,mass,radius
    

相关问题