rftxrx 发表于 2013-9-5 15:59:59

请教一个比较菜的问题??

purchase=18
price=3.7
price * purchase =66.6
最后判断 price * purchase =66.6的时候 结果始终 为 false
百思不得其解。。。。。。。

feiyunkai 发表于 2013-9-5 16:39:14

回复 1# rftxrx


    double型数据比较,不能直接判断是否相等,而要通过两值相减,然后判断是否小于一个极小值。
例:
If price*purchase-66.6<0.0000001 Then
    Print "通过"
Else
    Print "未通过"
End If
或者先数据转换为字符串后再比较:
例:
If price*purchase="66.6" Then
    Print "通过"
Else
    Print "未通过"
End If

Alvin-x 发表于 2013-9-5 16:50:56

楼上正解.....
拿到vs里可以调试下,会发现price*purchase=66.600000000000009

rftxrx 发表于 2013-9-9 11:11:28

回复 2# feiyunkai

      明白了 。
    上次看到了没时间回,现在回来补一下,谢谢

黑羽祭 发表于 2013-9-9 12:53:14

2楼正解

Shawn_xiao 发表于 2013-9-9 15:37:57

double 有效值 14位 前14位肯定是对的 后面他就不会管了......
页: [1]
查看完整版本: 请教一个比较菜的问题??