[問題] 字串輸出入問題

看板Fortran作者 (空洞)時間7年前 (2017/04/19 19:24), 7年前編輯推噓0(008)
留言8則, 4人參與, 最新討論串1/1
最近想用FORTRAN來寫AUTOCAD的腳本產生程式 用來展座標點 讀入的檔案是空白分隔的檔案 內容排序是 點號 N E Z ==讀入檔案內容 P1 1234567.123 123456.123 12.356 P10 1231231.123 123123.456 -1.444 P100 1254444.123 144155.333 100.567 == 然後我想輸出的檔案型式大概是 point_n,e,z (底線為空白字元) text_n,e_5_0_點號 ==輸出檔內容 (取第一筆資料來表示) point 1234567.123,123456.123,12.356 text 1234567.123,123456.123 5 0 P1 == 不過目前遇到的問題就出現在字串宣告上 因為點號的長度是不固定的 如果不宣告字串長度 讀入的就只有字串的第一個字 如果宣告點號字串 LEN=10 的確可以讀入所有點號 但是在輸出的時候就會變成後面會補滿空白字元到10個字 例如 text 1234567.123,123456.123 5 0 P1________ text 1231231.123,123123.456 5 0 P10_______ 一旦多出空白字元 AUTOCAD就無法吃下腳本指令 所以想請問大家這個問題要怎麼解決 另外想問用自由格式讀入REAL 是不是超過11碼就讀不到小數位呢 因為我用自由格式 real :: n,e,z cha....(len=10) :: pt READ(FILE,*) pt,n,e,z 然後write(*,*) n 小數位會變成.000 煩請大家提供想法了 感謝 編譯器cvf6.6 -- Sent from my fx-82SX -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.37.181.241 ※ 文章網址: https://www.ptt.cc/bbs/Fortran/M.1492601063.A.932.html ※ 編輯: terrylove12 (114.37.181.241), 04/19/2017 19:26:23

04/19 19:54, , 1F
trim() ?
04/19 19:54, 1F

04/19 20:17, , 2F
感謝版主 謝謝 我真的是學藝不精
04/19 20:17, 2F

04/19 20:32, , 3F
以前我也不知道,還自己寫…
04/19 20:32, 3F

04/19 20:35, , 4F
然後n小數位變.000大概是浮點數精確度的關係,不過不確定。
04/19 20:35, 4F

04/20 07:48, , 5F
real精度改成double看看呢?
04/20 07:48, 5F

04/24 13:35, , 6F
應該如同樓上G大所說是單精度和雙精度的問題,基本上小數
04/24 13:35, 6F

04/24 13:35, , 7F
點後11位就是雙精度浮點數,試試看直接在宣告處宣告real*8
04/24 13:35, 7F

04/24 13:35, , 8F
就應該可讀到小數點
04/24 13:35, 8F
文章代碼(AID): #1OzqZdao (Fortran)
文章代碼(AID): #1OzqZdao (Fortran)