Fortran Coder

查看: 14612|回复: 6
打印 上一主题 下一主题

[输入输出] 读取浮点型文本资料,输出结果为整形

[复制链接]

12

帖子

4

主题

0

精华

入门

F 币
60 元
贡献
35 点
跳转到指定楼层
楼主
发表于 2017-2-16 11:49:11 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
这个代码是从网上下的,用以科研处理!

输出结果如下

但是原始资料中是浮点型,如7.2或2.6,现在变成了7和2,修改输出语句“int(line(out_id))”为“real(line(out_id))”,或是去掉“int”以后,程序不输出数据!
还请各位大侠看看,附上资料

diamond1_batch.rar

123.59 KB, 下载次数: 6

分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

1958

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1339 元
贡献
565 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

沙发
发表于 2017-2-16 12:09:00 | 只看该作者
write(20,'(2(2x,a),2x,f9.3)')stid,"20"//trim(fname), line(out_id)

12

帖子

4

主题

0

精华

入门

F 币
60 元
贡献
35 点
板凳
 楼主| 发表于 2017-2-16 13:57:37 | 只看该作者
fcode 发表于 2017-2-16 12:09
write(20,'(2(2x,a),2x,f9.3)')stid,"20"//trim(fname), line(out_id)

对了对了!十分感谢,但是还想知道为什么是写成f9.3,去掉int,就行了?前面“write(nowstid,'(i5)') int(line(1))”不改对输出也没影响,那这句话是什么意思呢?

1958

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1339 元
贡献
565 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

地板
发表于 2017-2-16 15:14:50 | 只看该作者
f 编辑符针对浮点数
i 编辑符针对整数

12

帖子

4

主题

0

精华

入门

F 币
60 元
贡献
35 点
5#
 楼主| 发表于 2017-2-16 15:26:25 | 只看该作者
fcode 发表于 2017-2-16 15:14
f 编辑符针对浮点数
i 编辑符针对整数

恩,这个我知道,曾经也改成过f3或f4,同时去掉前后两个“int”,结果就是不对。
主要还是对这个line(out_id)这个变量是怎么来的不清楚?

1958

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1339 元
贡献
565 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

6#
发表于 2017-2-16 15:29:22 | 只看该作者
因为你希望输出浮点数,而 line 本身就是浮点数,不需要 int,也不能够 int。
f 编辑符针对浮点数,那么 f9.3 就可以了。

当然其他的宽度也可以,比如 f8.3 , f7.4,只要宽度够就可以,不一定必须 f9.3

12

帖子

4

主题

0

精华

入门

F 币
60 元
贡献
35 点
7#
 楼主| 发表于 2017-2-16 16:00:48 | 只看该作者
fcode 发表于 2017-2-16 15:29
因为你希望输出浮点数,而 line 本身就是浮点数,不需要 int,也不能够 int。
f 编辑符针对浮点数,那么 f9 ...

明白了!谢谢您!主要是没法把掌握的理论用在实际,而且不是自己写的程序,理解也不清!
同时感谢这么好的论坛!
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-4-20 23:38

Powered by Tencent X3.4

© 2013-2024 Tencent

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