回 帖 发 新 帖 刷新版面

主题:在VFP中数值无穷大用什么表示

例如:EVALUATE("9.98/0.00")=*******,由于函数参数是通过各种计算得来的字符串,"/"号后面的分母很难确定,我希望当EVALUATE函数的计算结果为*******(无穷大)时,人为地将计算结果赋为0.00,请问这个代码如何写?先谢了!

回复列表 (共4个回复)

沙发

请不要忘记运算规则:除数不能为零。

板凳

可以预先判断分母是否为零,然后再计算:
结果=IIF(分母=0,0,EVALUATE("9.98/分母"))

3 楼


谢谢老师们的热心教诲.由于函数EVALUATE()中的参数是经过系统运算得来的字符串,这其中是否有"/"号或其他什么运算符号无法得知,故判断分母是否为0比较困难.后来我发现函数EVALUATE()有个规律,当分母为0时,分子大于0,则计算结果无穷大;分子小于等于0时,则计算结果无穷小.据此,我用一个字段所能允许的最大值作业判断条件,解决了这个问题.再次谢谢大家的赐教!

4 楼

两种方案:
1、可以先判断EVALUATE()中的参数是否包含“/”以及除号后面是否为零。来解决问题。
2、你可以根据你得到的所需要的最大结果来判断,如果大于所需要的最大结果就付值为零。

我来回复

您尚未登录,请登录后再回复。点此登录或注册