24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1484  |  回复: 12

zsy011210804

新虫 (初入文坛)

[求助] fortran如何消除实数小数点后无意义的零已有3人参与

例如:变量定义为real*8 , 如 fortran算出17550.0000000,由于格式要求我只要17550,这种情况要怎么解决呢,
程序的主要功能:输出从1到16873(不要26的倍数)循环,怎么实现只有小数点前面的数,不要后面无意义的零
program maint
    integer k
    real t
    real t1,t2,t3,t4,t5,t6,t7,t8
    !integer t11,t22,t33,t44,t55,t66,t77,t88
    print*,'打开xabcyt.txt'
    open(6,file='xabcyt.txt')
    t=0
do k=1,16873
    t=t+1
    if(mod(t,26.0)/=0) then
        t1=t
        t2=26+t
        t3=27+t
        t4=1+t
        t5=676+t
        t6=702+t
        t7=703+t
        t8=677+t
     write(6,'(6f)')t1,t2,t3,t4,t5,t6
    write(6,'(2f)')t7,t8
    !t11=int(t1)
    !t22=int(t2)
    !t33=int(t3)
    !t44=int(t4)
    !t55=int(t5)
    !t66=int(t6)
    !t77=int(t7)
    !t88=int(t8)
    !write(6,'(6f)')t11,t22,t33,t44,t55,t66
    !write(6,'(2f)')t77,t88
    !
    end if
!100 format('2X,I5,2X,I5,2X,I5,2X,I5,2X,I5,2X,I5')
!200 format('2X,I5,2X,I5')  
end do   
    close(6)
    print*,'xabc运行完成'
    end
之前尝试了实数取整和有格式输出,实数取整最后算出来都是0.00000,有格式输出有断点,由于fortran才刚刚接触,有些问题还不懂,希望各位大神不吝赐教
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

wxws.2008

木虫 (正式写手)

write语句,格式问题,取整以后write语句中的格式还没改,还是浮点

发自小木虫Android客户端
2楼2016-05-03 21:44:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wxws.2008

木虫 (正式写手)

意思是format前的100、200没有地方引用

发自小木虫Android客户端
5楼2016-05-04 12:52:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wxws.2008

木虫 (正式写手)

6楼2016-05-04 12:55:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

空中飞客

至尊木虫 (著名写手)

format('2X,I5,2X,I5')  
I后不要写5看看
7楼2016-05-04 13:24:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

zsy011210804

新虫 (初入文坛)

不好意思,您说的“取整以后write语句中的格式还没改,还是浮点”是什么意思呢?
我以为我的t11,t22定义的就是integer ,应该取整后write应该就是整形呢?
如果要改要怎么改呢?
3楼2016-05-04 10:39:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wxws.2008

木虫 (正式写手)

4楼2016-05-04 12:52:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

weiwei43

至尊木虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
不用取整,按有格式输出,例如 format(1x,6(F5.0,1x))试试。
8楼2016-05-05 08:16:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

weiwei43

至尊木虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
zsy011210804: 金币+10, ★★★★★最佳答案 2016-05-05 15:45:33
如果不取整,这样处理:
write(6,100)t1,t2,t3,t4,t5,t6
100 format(1x,6(f5.0,1x))

如果取整,按下面方法处理:
write(6,100)t1,t2,t3,t4,t5,t6
100 format(1x,6(I5,1x))
9楼2016-05-05 08:20:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zpy463102155

新虫 (初入文坛)

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
zsy011210804: 金币+2, 有帮助 2016-05-05 15:45:24
把输出结果转化为整数即可

发自小木虫Android客户端
10楼2016-05-05 09:02:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 zsy011210804 的主题更新
信息提示
请填处理意见