51Testing软件测试论坛

标题: 请教一下关于QTP中运算的问题 [打印本页]

作者: hinjyo    时间: 2011-7-6 19:18
标题: 请教一下关于QTP中运算的问题
只是一个很平常的比较运算,我不知道为什么算出来的结果不等

Dim Premium2
Dim Premium
Dim ApplyAmount
Dim SumPremium
Dim  result

Premium2 = 174719.17
Premium = 179774.52
ApplyAmount = 5000.00
SumPremium = 177806.25

result = Premium - round(Premium*ApplyAmount/SumPremium,2)

If Premium2 < result then
         msgbox "pass"
     Else msgbox "fail"&result
End If

结果是Premium2 比result 要大,fail 174719.17   应该相等啊 为什么呢
作者: 17800455    时间: 2011-7-7 13:39
If Premium2 < result then
         msgbox "pass"
     Else msgbox "fail"&result
End If

你这判断写的就有问题。
Premium2 与result相等时,一定执行否则。
作者: nish    时间: 2011-7-7 15:43
二楼说的和你执行得都没有问题。else包括了大于和等于
作者: lanchozxd    时间: 2011-7-7 16:32
本帖最后由 lanchozxd 于 2011-7-7 16:33 编辑

浮点数不能这么比较的。。。 如果你改成cstr(a)= cstr(b) 就可以通过的你参考下
http://www.vbgood.com/thread-102628-1-1.html 这个里边有说明的
作者: happystar    时间: 2011-7-7 16:49
感觉楼主是自己和自己较劲 呵呵
作者: hinjyo    时间: 2011-7-8 11:45
本帖最后由 hinjyo 于 2011-7-8 12:01 编辑

四楼正解,一语中的,浮点数不能这样比较,
问题已经解决





欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2