欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → 为什么这个 if 语句条件为真也无法执行?

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有2690人关注过本帖树形打印复制链接

主题:为什么这个 if 语句条件为真也无法执行?

帅哥哟,离线,有人找我吗?
icanfly
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:49 积分:90 威望:0 精华:0 注册:2012/4/27 21:27:42
为什么这个 if 语句条件为真也无法执行?  发帖心情 Post By:2015/8/8 13:50:11 [显示全部帖子]

我写了一个判断两个变量为符号不同的代码,如下,但不知道为什么不执行。

if (C1*10000)*(C2*10000) < 0 then
begin
//代码1
end
else
begin
//代码2
end

这里的C1、C2之所以要乘以10000,是应为这两个变量值太小,数据为C1=-0.000086、C2=0.000226。

理论上C1、C2只要符号相反,相乘后就小于0啊,也就是条件为真,但结果始终执行的是”代码2“,不知道为何?

 回到顶部
帅哥哟,离线,有人找我吗?
icanfly
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:49 积分:90 威望:0 精华:0 注册:2012/4/27 21:27:42
  发帖心情 Post By:2015/8/9 18:34:14 [显示全部帖子]

我就是不清楚是为什么结果为“否”,因为我用常用的编程软件比如C、C++等之类的结果就是为“真”。

 回到顶部
帅哥哟,离线,有人找我吗?
icanfly
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:49 积分:90 威望:0 精华:0 注册:2012/4/27 21:27:42
  发帖心情 Post By:2015/8/9 18:50:48 [显示全部帖子]

我知道原因了:这个逻辑运算符“<”的优先级居然大于了前面的乘法运算,和C/C++还有点不一样。把之前的运算加上括号就行了。

 回到顶部