以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  执行效率优化  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=157877)

--  作者:vado
--  发布时间:2017/9/13 14:03:00
--  执行效率优化

有如下三个if判断

 

if b<a<c then ....

 

 

if  a >c then ....

 

if a<b then.....

 

 

上述三个条件互相排斥,但若这样写在公式里面,当第一个为1的时候,还要去判断第二和第三个,这样有浪费, 有什么函数可以规避这种浪费?或者应当怎么解决?

有没有类似c++的 switch case 的函数组合 ?


--  作者:wenarm
--  发布时间:2017/9/13 14:04:51
--  
没有switch的语法。
--  作者:vado
--  发布时间:2017/9/13 14:05:09
--  
有没有elseif组合 ?
--  作者:wenarm
--  发布时间:2017/9/13 14:06:09
--  

有的


--  作者:vado
--  发布时间:2017/9/13 14:06:17
--  
如何实现 else if 功能 ?
--  作者:vado
--  发布时间:2017/9/13 14:09:52
--  
只搜到else, 要实现else if,是要写成 else begin if。。。 end,这样吗
--  作者:wenarm
--  发布时间:2017/9/13 14:16:47
--  

if c >200 AND C<300 then  begin
A:=1;

end
ELSE IF C>300 AND C<400 THEN BEGIN
A:=2;
END

ELSE   BEGIN
 A:=3;
END

 

https://www.weistock.com/down/class/?4.html

下载基础教程学习


--  作者:FireScript
--  发布时间:2017/9/13 14:17:51
--  
if  .....then  begin  end else if then  begin  end
--  作者:vado
--  发布时间:2017/9/13 14:23:46
--  
初级教程上没有写else if 可以联用,只用到if  else,  你确定 else if 能够正确判断逻辑?
--  作者:wenarm
--  发布时间:2017/9/13 14:26:37
--  
你自己写段测试点试一下不就知道了