感谢提醒,这里的确有些不严谨 |
fcode 发表于 2021-12-14 08:36 雪球你推荐的文章太好了,但里面有一句话可能有歧义: “此时我们就需要 AdjustL 函数,我们可以这样写: trim(AdjustL(s4)) , 或者 AdjustL(trim(s4)) 这两者的顺序无所谓,结果都是一样的。” 两者的结果好像并不一样: [Fortran] 纯文本查看 复制代码 !===================================== ! 整型或实型转换生字符,借助Fortran内部文件完成, ! 即将一个字符串变量当作一个内部文件看待;反之依然 !===================================== program main implicit none character(len=40) :: aa,bb,cc='2007.00',CID integer(kind=4) :: a !...数字转换成字符串 a=2007 aa="2007" !...整型转字符 write(bb,"(I4)") a !...a -> bb CID = bb//aa//cc write(*,*) TRIM(ADJUSTL(CID)) stop end program main |
Transpose 发表于 2021-12-13 21:26 是这样,谢谢 |
看看,字符串的故事: http://string.w.fcode.cn/ 如果你嫌每次都trim很麻烦,那么递延长度字符串,可能对你有帮助 http://diyanzifuchuan.w.fcode.cn/ |
[Fortran] 纯文本查看 复制代码 character(len=12):: domain open(123,file='output.txt') domain = ' fcode.cn' ! 10 characters with 2 spaces ahead write(123, *) 'adjustl(trim(domain)):',adjustl(trim(domain)) write(123, *) 'trim(adjustl(domain)):',trim(adjustl(domain)) print*,'length of adjustl(trim(domain)) is' ,len(adjustl(trim(domain))) print*,'length of trim(adjustl(domain)) is',len(trim(adjustl(domain))) end 字符串本身长度是40,会在后面加一些空格,把空格去掉就行了 |
捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )
GMT+8, 2024-5-21 07:40