Foxtable(狐表)用户栏目专家坐堂 → [求助]表达式中的整除符号哪去了?


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

主题:[求助]表达式中的整除符号哪去了?

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7237 积分:40614 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2009/4/5 15:54:00 [显示全部帖子]

表达式不支持"\"整除,可以这样在表达式中实现:

Convert(a/b-0.5, 'System.Int64')


刚才转晕了,还是要减去0.5!

[此贴子已经被作者于2009-4-5 16:06:49编辑过]

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7237 积分:40614 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2009/4/5 16:11:00 [显示全部帖子]

经过测试:

Convert(5/4-0.5, 'System.Int64') = 1
Convert(5/3-0.5, 'System.Int64') = 1
Convert(5/2.5-0.5, 'System.Int64') = 2
Convert(5/2-0.5, 'System.Int64') = 2
Convert(5/1.5-0.5, 'System.Int64') = 3
...........

    达到要求,ok!

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7237 积分:40614 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2009/4/5 18:53:00 [显示全部帖子]

道理很简单,因为您只要整数,需要往下舍,不管尾数多少,比如:

           您的需求:         Convert()直接处理的结果       Convert()减去0.5后处理的结果:
              10.75  10              10.75   11                            10.75-0.5=10.25   10
              10.25  10               10.25  10                            10.25-0.5=9.75     10
              9.75    9                 9.75   10                              9.75-0.5=9.25     9

这样的示例更加易懂,关键是要理解:表达式Convert()是以四舍五入方式取整。

 回到顶部