Re: [VB6 ] 計算機
※ 引述《fumizuki (小獅子)》之銘言:
: ※ 引述《TrueFeeling (昨日之死)》之銘言:
: : 不好意思,再問程式碼部分
: : 方程式名:Eval ?
: 對的
: : 方程式參數s設為字串?
: 限制只能傳入字串
: : 請問上面這段,c的作用是?
: : 我猜的意思是:
: : If p > 0 -->如果有+號的話,然後執行SplitProc,不過後面就不知道為什麼
: 分成兩部份,再相加,傳回,然後離開。
Eval分成Eval(op1)和Eval(op2),但是如果op2裡面還有運算子的時候,
1.為什麼Eval能傳出值?
2.離開的話,剩下的運算子好像還沒處理
: : 我猜的意思是:
: : 如果字串s裡面是-號後面是一串字元的話,然後後面還是看不懂
: p 是 InStr 的第一個參數,指定要從第幾個字元開始尋找 "-",可省略這個參數不寫。
可是,InStr 的第一個參數,指定要從第幾個字元開始尋找
那個參數要有一個確定的數字的樣子,所以不懂為什麼可以用p
而且p也用來作為InStr函數的傳出值,所以我這邊很混亂
: : 如果有減號的話,然後
: 下面這串程式碼在剛才的範例我沒有說明的很清楚...
: 這是用來分辨正負號用的
: 在運算式中可能出現四種運算式(a+-b),(a--b),(a*-b),(a/-b)
: 這四種運算式的共通特性都是有「負號」
: 當「-」前方也是運算子的時候,則「-」為負號,否則就是減法運算。
: : op1=字串中,減號的前一個字元
: 負號前是「+」
: : 這邊看不懂,為什麼op1剛剛代表減號,現在為什麼代表加號
: : p = p-1 ==>看不懂,後面也看不懂
: 負號前是「-」
: 負號前是「*」
: 負號前是「/」
: 因為先前 p 是負號的位置,但我 SplitProc 要求的是 加減乘除 四個運算子的位置,
: 所以要再減去 1...
: : 如果字串中有*號,.....
: : 如果字串中有/號....
: : 這裡傳回的模式也看不懂
: 哪裏不懂?
: Val() 是將 字串型態 轉換成 數值型態,得到的數值為 Double 型態的數值。
: 如果來源 s 不是個數字的話,就會傳回零。
: 所以 Eval = Val(s) 作用就是把 s 轉換成 Double 型態,再傳回。
這邊有一個問題:
就是如果一開始直接用Val(s)取代Eval的話,我覺得這樣應該比較直接
所以不懂這邊Eval的用意
: : c = c - 1的作用是?
: : 將字串拆成2份(以p的位置為分界點)
: : 第1份是p的左邊
: : 第2份是p的右邊
--
少年讀書,如隙中窺月;
中年讀書,如庭中望月;
老年讀書,如臺上玩月。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.162.90.149
討論串 (同標題文章)
Visual_Basic 近期熱門文章
PTT數位生活區 即時熱門文章