Re: [問題] 如何在判別空缺的資料?
※ 引述《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
10/19 19:44, 1F
討論串 (同標題文章)
Fortran 近期熱門文章
PTT數位生活區 即時熱門文章