作者fumizuki (小狮子)
看板Visual_Basic
标题Re: [VB6 ] 计算机
时间Fri Jun 10 21:12:22 2005
※ 引述《TrueFeeling (昨日之死)》之铭言:
: ※ 引述《fumizuki (小狮子)》之铭言:
: : 对的
: : 限制只能传入字串
: : 分成两部份,再相加,传回,然後离开。
: Eval分成Eval(op1)和Eval(op2),但是如果op2里面还有运算子的时候,
: 1.为什麽Eval能传出值?
Function就是要做这用途的...
: 2.离开的话,剩下的运算子好像还没处理
一个离开,还有其它相同的函数还在执行...
: : p 是 InStr 的第一个参数,指定要从第几个字元开始寻找 "-",可省略这个参数不写。
: 可是,InStr 的第一个参数,指定要从第几个字元开始寻找
: 那个参数要有一个确定的数字的样子,所以不懂为什麽可以用p
: 而且p也用来作为InStr函数的传出值,所以我这边很混乱
没人说不能用变数啊...
函数的每一个参数本来就是个变数...
就算是常数传进去,在函数的本体还是以变数在看待
: : 下面这串程式码在刚才的范例我没有说明的很清楚...
: : 这是用来分辨正负号用的
: : 在运算式中可能出现四种运算式(a+-b),(a--b),(a*-b),(a/-b)
: : 这四种运算式的共通特性都是有「负号」
: : 当「-」前方也是运算子的时候,则「-」为负号,否则就是减法运算。
: : 负号前是「+」
: : 负号前是「-」
: : 负号前是「*」
: : 负号前是「/」
: : 因为先前 p 是负号的位置,但我 SplitProc 要求的是 加减乘除 四个运算子的位置,
: : 所以要再减去 1...
: : 哪里不懂?
: : Val() 是将 字串型态 转换成 数值型态,得到的数值为 Double 型态的数值。
: : 如果来源 s 不是个数字的话,就会传回零。
: : 所以 Eval = Val(s) 作用就是把 s 转换成 Double 型态,再传回。
: 这边有一个问题:
: 就是如果一开始直接用Val(s)取代Eval的话,我觉得这样应该比较直接
: 所以不懂这边Eval的用意
上面说了,s必须是一个数值,才能够进行转换,否则得到的数会是
零。
Eval 的目地就是要把运算子与运算元分离,Val()并不会帮你做计算的工作...
--
VB 程式设计 仓木麻衣 PTT 星爷板 行列输入法
======================================================
Visual_Basic MaiKuraki Stephen Array
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 210.58.156.43