以文本方式查看主题 - 搭建论坛 (http://bbs.diylsoft.com:8118/starforum/index.asp) -- 用户咨询 (http://bbs.diylsoft.com:8118/starforum/list.asp?boardid=4) ---- 数值比较构件与表达式 (http://bbs.diylsoft.com:8118/starforum/dispbbs.asp?boardid=4&id=23974) |
-- 作者:玩脑者 -- 发布时间:2009-4-19 10:30:10 -- 数值比较构件与表达式 下面是星中帮助文件,构件数值比较的一个例程: 下面我们利用数值比较构件完成一个多条件比较的例子。当数值X大于等于0,小于10,或者大于50时满足条件,否则不满足条件。形如:0≤X<10 或X>50。 在项目窗口上拖放二个数值比较、数字编辑、普通标签和普通按钮构件。 属性设置: 数值比较1构件的数值_A属性设为“0”;数值_B属性设为“9”;下一个数值比较属性设为“数值比较2”。 注意:根据实例要求和数值比较构件的特点,数值_B要设为“9”,而不能是“10”。 数值比较2构件的数值_A属性设为“10”;数值_B属性设为“50”。 ------------------------ 这个例程中,X<10这个条件,在数值_B要设为“9”,这样是不是不够准确呢?如果输入值为9.9,9.99,9.91等等这样的数就会出现错误. 而在这个构件中“两值之间”的意思是含有等于意思。如数值A为‘0’,数值B为‘10’在两值之间相当于0≤X≤10。 那么,怎样才能准确的表达出0≤X<10这个表达式呢? |
-- 作者:admin -- 发布时间:2009-4-19 11:57:45 -- 这个很简单 这两个值是实数,你可以把“数值_B”设置为“9.9999”即可; 实例可参考:http://web.diylsoft.com/?ipe=./union/download/info&name=bstar |
-- 作者:玩脑者 -- 发布时间:2009-4-19 13:22:12 -- 这样设置不就意味着已经约定小数点后的位数了吗?如果是一个动态计算所得的值呢,如果设置为:9.9999,而所得的值为:9.99991,这样所得的判断就错了。。。。 |
-- 作者:admin -- 发布时间:2009-4-19 14:26:12 -- 计算结果的小数位 是可以控制的,二进制 和 十进制之间的计算结果肯定会产生误差的。 |
-- 作者:引力波 -- 发布时间:2009-4-19 14:51:41 -- 以下是引用admin在2009-4-19 11:57:45的发言:
这个很简单 这两个值是实数,你可以把“数值_B”设置为“9.9999”即可; 为什么不把数值比较构件增加"小于B"事件,“数值_B”设置为“10”,判断小于B就行了啊 |
-- 作者:admin -- 发布时间:2009-4-19 17:01:03 -- 完全使用 “比较判断”也是可以的。 |
-- 作者:minody -- 发布时间:2009-4-19 17:08:14 -- 本来很简单的东西变得复杂了,建议多增加几种判断关系,以方便用户 |
-- 作者:admin -- 发布时间:2009-4-20 9:51:10 -- 到底“是否复杂”,考虑清楚再说! 把你的“假设”,做一个完整的过程模拟,然后再作出判断。 |
-- 作者:玩脑者 -- 发布时间:2009-4-20 10:22:42 -- 这个表达式用“比较判断”能解决的更好一点。。 |