Re: [問題] 如何在判別空缺的資料?

看板Fortran作者 (Laa)時間15年前 (2009/10/19 01:55), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串2/4 (看更多)
※ 引述《swm (研究室常駐程式)》之銘言: : 標題: [問題] 如何在判別空缺的資料? : 時間: Fri Oct 16 19:24:22 2009 : : : 請問各位,如果我的資料型態如下 : : 2009 010223 975.6 1113.4 32.5 : ^^^^^ : 要如何用read讀取空缺的資料 : 用浮點數的格式 : 然後在判別式中進行判別 : : 我寫到 : if(var3.eq.'') : 可是這樣似乎不管用 : : 謝謝大家 : : : -- : ※ 發信站: 批踢踢實業坊(ptt.cc) : ◆ From: 140.122.81.146 : 推 laa7352:試試 if(var3 .eq. 0.0) 10/16 19:53 : → charlesdc:先看看你怎麼讀進去的吧 搞不好連讀都沒讀到@@ 10/17 00:12 : → charlesdc:樓上那樣應該也是抓不到 就算起始值全部為0 浮點運算有 10/17 01:00 : → charlesdc:有效位數的問題 所以不可能有等於0.0的值 10/17 01:00 : → blc:因為浮點數的儲存方式,是可以有等於0.0的值。 10/17 11:09 : → swm:抱歉忘記說明,我的讀取方式read(1,'i4,3i2,3f7.1') 10/18 01:19 read(1,'i4,3i2,3f7.1') 你的格式第一個是i4,接著是3i2 但是你po的資料,第五個是空格 你的格式裡在i4後面沒有給他1X 1234567890 15 20 25 30 35 2009 010223 975.6 1113.4 32.5 ^ 以下是用read(1,'i4,3i2,3f7.1')輸出的狀況 2009 01022 3975.6 1113.0 0.4 var3等於0.4 以下是用read(1,'i4,1x,3i2,3f7.1')輸出的狀況 2009 1 223 975.6 1113.4 0.0 var3等於0.0 不知道是你筆誤還是…? 另外 你一開始是用if(var3.eq.'')來判斷 但是var3是real,不是字串,''這二引號有代表著被引號包裏中字串的意思 也許你可以試著用if(var3 .eq. 0.0)來做判斷 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.228.165.180

10/19 19:44, , 1F
fix or free format...其實他講的東西很不齊全 很難幫
10/19 19:44, 1F
文章代碼(AID): #1AsrQSCL (Fortran)
文章代碼(AID): #1AsrQSCL (Fortran)