Fortran向文件中写入数据的问题
我要向一个文件中写入数据,其中写入数据那一行代码是:WRITE(1111,*)NODE_CORD(I,1),NODE_CORD(I,2),NODE_CORD(I,3),N...
我要向一个文件中写入数据,其中写入数据那一行代码是:
WRITE(1111,*) NODE_CORD(I,1),NODE_CORD(I,2),NODE_CORD(I,3),NODE_ALPHA(I)
但是得到的就是类似于下面的格式:
0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000
0.000000000000000E+000
问题1:我希望一行显示4个数,每个数之间空一个空格,可是发现每两个数之间空格为2个,并且第四个数已经跑到了下一行了,想解决这个问题。
问题2:我前三个数都是整数,能不能不显示科学计数法?
谢谢! 展开
WRITE(1111,*) NODE_CORD(I,1),NODE_CORD(I,2),NODE_CORD(I,3),NODE_ALPHA(I)
但是得到的就是类似于下面的格式:
0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000
0.000000000000000E+000
问题1:我希望一行显示4个数,每个数之间空一个空格,可是发现每两个数之间空格为2个,并且第四个数已经跑到了下一行了,想解决这个问题。
问题2:我前三个数都是整数,能不能不显示科学计数法?
谢谢! 展开
3个回答
展开全部
WRITE(1111,"(D8.2,1x,D8.2,1x,D8.2,1xD8.2)") NODE_CORD(I,1),NODE_CORD(I,2),NODE_CORD(I,3),NODE_ALPHA(I)
其中,D8.2表示以8个字符宽度来输出指数类型浮点数,小数部分占2个字符宽度。1x表示指针向后移动一个空格。
注意输出的必须是浮点数,如果你前三个数是整型数,你必须先将其转化为浮点数在输出。real(NODE_CORD(l,1))
其中,D8.2表示以8个字符宽度来输出指数类型浮点数,小数部分占2个字符宽度。1x表示指针向后移动一个空格。
注意输出的必须是浮点数,如果你前三个数是整型数,你必须先将其转化为浮点数在输出。real(NODE_CORD(l,1))
追问
最后得到的是0.00D+00这样的数值,能不能把D变成E,因为这样的话才好被C++读入。
追答
把D8.2改成E8.2就成
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Print,Write两个函数即可
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询